반복문의 실행과정을 봅시다. 처음에 a에는 range(1, 20)의 시작 숫자인 1이 들어가고 print('선생님, 다시는 청소를 빼먹지 않겠습니다.')가 실행됩니다. 두 번째 반복에서 a에 2가 들어가고 print()를 실행하며, 세 번째 반복에서도 a에 3이 들어가고 print()를 한 번 더 실행합니다. 이 과정을 19가 될 때까지 반복합니다. 반복문의 data 위치에 [1, 2, 3... 18, 19]를 입력한 것과 결과가 같습니다.
▼ 표 5-3 반복문의 실행과정
반복 회차 |
a에 저장된 값 |
반복문 내부 |
첫 번째 |
1 |
a에 1이 저장되고, print() 실행 print(a, '선생님, 다시는 청소를 빼먹지 않겠습니다.') |
두 번째 |
2 |
a에 2가 저장되고, print() 실행 print(a, '선생님, 다시는 청소를 빼먹지 않겠습니다.') |
… |
||
열 여덟 번째 |
18 |
a에 18이 저장되고, print() 실행 print(a, '선생님, 다시는 청소를 빼먹지 않겠습니다.') |
열아홉 번째 |
19 |
a에 19가 저장되고 print() 실행 range(종료 숫자 - 1)이므로 반복문 종료 print(a, '선생님, 다시는 청소를 빼먹지 않겠습니다.') |
그럼 20번을 온전하게 출력하고 싶으면 코드를 어떻게 바꿀까요? 먼저 코드를 바꿔 보고 실행결과를 확인하세요.
for a in range(1, 21):
print(a, '선생님, 다시는 청소를 빼먹지 않겠습니다.')