range가 만드는 수를 반복해요
조건문까지 배웠어요. for는 여러 값을 하나씩 꺼내 같은 코드를 실행해요. range(1, 4)는 1·2·3을 차례로 만들고 끝값 4는 포함하지 않아요.
for number in range(1, 4):
print(number)
number는 1에서 시작해 다음 반복마다 2·3으로 바뀌어요. print가 반복 안에 있어 각 값을 한 줄씩 출력해요. for 끝에도 :가 필요하고 안쪽 코드는 공백 4개로 들여써요. 그림에서 반복하는 수와 제외한 끝값을 구분해요.
반복 밖에서 누적값을 시작해요
같은 range에 들어 있는 수를 더해 봐요. total은 지금까지 더한 결과를 담아요.
total = 0
for number in range(1, 4):
total = total + number
print(total)
| number | 처리 후 total |
|---|---|
| 1 | 1 |
| 2 | 3 |
| 3 | 6 |
total을 반복 안에서 0으로 만들면 이전 합계가 사라져요. 1부터 n까지 포함하려면 끝값을 n + 1로 써요. range(1, 1)처럼 시작과 끝이 같으면 반복할 값이 없고 total은 0으로 남아요.
직접 풀어봐요
1부터 입력한 n까지 모든 정수를 더해 출력해요. n = 0이면 더할 수가 없으므로 0을 출력해요.
입력은 한 줄의 정수 n이며 0~1000이에요. 출력은 합계 한 개와 줄 바꿈이에요.
예시 1: 입력 4 → 10. 1 +2 +3 +4예요.
예시 2: 입력 6 → 21. 1부터 6까지 더해요.
예시 입력
4
예상 결과
10
예시 입력
6
예상 결과
21
핵심 개념
loops: range의 끝값은 제외돼요. 누적 변수는 반복 전에 한 번 만들고 반복 안에서 갱신해요.