학습
Lua 루프와 반복문
Lua 루프와 반복문 — 초급
루프와 반복문
1. 도입 (왜 배워야 하는가)
루프와 반복문은 프로그래밍에서 매우 중요한 개념입니다. 데이터 처리, 반복적인 작업, 리스트 및 배열의 요소 접근 등 다양한 상황에서 필수적으로 사용됩니다. 예를 들어, 쇼핑몰 웹사이트에서 사용자가 장바구니에 담은 여러 상품의 총합을 계산할 때, 각 상품을 하나씩 반복해서 처리해야 하므로 루프가 필요합니다. 만약 이 개념을 모른다면, 수많은 데이터를 수동으로 처리해야 하며, 이는 비효율적이고 오류를 발생시킬 수 있습니다.
2. 핵심 개념 설명
루프(Loop)는 특정 조건이 만족될 때까지 또는 정해진 횟수만큼 반복 실행되는 코드 블록을 의미합니다. 반복문(Iteration)은 이러한 루프를 통해 반복적으로 실행되는 과정을 일컫습니다.
실생활 비유
루프를 요리 과정에 비유해 보겠습니다. 요리를 할 때, 여러 번 재료를 썰거나 끓이는 과정을 반복합니다. 이때 "5번 썰기"라고 명시하면, 5번 반복할 때까지 계속 썰게 됩니다. 이와 같이 프로그래밍에서도 특정 작업을 여러 번 반복할 때 루프를 사용합니다.
| 용어 | 설명 |
|---|---|
| for 루프 | 지정된 횟수만큼 반복 실행 |
| while 루프 | 조건이 참인 동안 반복 실행 |
| repeat | 조건이 거짓이 되기 전까지 반복 실행 |
3. 기본 코드 예제
가장 기본적인 for 루프의 사용법을 보여주겠습니다.
for i = 1, 5 do
print("안녕하세요, Lua!")
end
- 실행 결과
안녕하세요, Lua!
안녕하세요, Lua!
안녕하세요, Lua!
안녕하세요, Lua!
안녕하세요, Lua!
- for i = 1, 5 do : 변수 i를 1부터 5까지 증가시키며 루프를 시작합니다.
- print("안녕하세요, Lua!") : 루프가 실행될 때마다 "안녕하세요, Lua!"를 출력합니다.
- end : 루프의 끝을 나타냅니다.
4. 실전 활용 예제
- 장바구니 총합 계산
- 상황 설명: 쇼핑몰에서 사용자가 장바구니에 담은 모든 상품의 총합을 계산합니다.
cart배열에 담긴 가격을 반복하여total변수에 합산합니다. - 학생 점수 평균 계산
- 상황 설명: 학생들의 점수를 담은 배열에서 점수 평균을 계산합니다. 각 점수를 더한 후 학생 수로 나누어 평균을 구합니다.
- 루프 범위 설정 실수
- 무한 루프 발생
- 루프와 반복문은 데이터 처리와 반복 작업을 자동화하는 데 필수적입니다.
for,while,repeat등의 다양한 반복문을 이해하고 사용할 수 있어야 합니다.- 실생활의 반복적인 작업을 비유로 이해하면 더 쉽게 학습할 수 있습니다.
local cart = {1000, 2000, 3000, 4000}
local total = 0
for i = 1, #cart do
total = total + cart[i]
end
print("장바구니 총합: " .. total)
local scores = {80, 90, 70, 85, 95}
local sum = 0
for i = 1, #scores do
sum = sum + scores[i]
end
local average = sum / #scores
print("학생 점수 평균: " .. average)
5. 흔한 실수와 주의사항
- 잘못된 코드:
for i = 1, 5 do
print(i)
end
- 올바른 코드:
for i = 1, 5 do
print(i)
end
- 설명: 루프 범위를 잘못 설정하면 원하는 만큼 반복하지 못합니다.
- 잘못된 코드:
local i = 1
while i <= 5 do
print(i)
-- i를 증가시키지 않음
end
- 올바른 코드:
local i = 1
while i <= 5 do
print(i)
i = i + 1
end
- 설명: 조건을 만족하는지 확인하는 코드가 없으면 무한 루프가 발생합니다.
6. 정리
다음에 학습하면 좋은 주제: 함수와 모듈화 - 코드를 재사용하고 관리하기 쉽게 만드는 방법입니다.