17.1 while 반복문 사용하기

다음과 같이 while 반복문은 조건식을 지정하고 끝에 :(콜론)을 붙인 뒤 다음 줄에 반복할 코드와 변화식을 넣습니다. 초기식은 특별한 것이 없고 보통 변수에 값을 저장하는 코드입니다.

초기식
while 조건식:
     반복할 코드
     변화식
#↑ 들여쓰기 4칸

while 다음 줄에 오는 코드는 반드시 들여쓰기를 해줍니다(들여쓰기 규칙은 if, elif, else, for와 같습니다).

이제 while 반복문으로 'Hello, world!'를 100번 출력해보겠습니다.

>>> i = 0
>>> while i < 100:
...      print('Hello, world!')  # ← 들여쓰기 4칸
...      i += 1 # ← 들여쓰기 4칸
... # ← 빈 줄에서 엔터 키를 누름
Hello, world!
... (생략)
Hello, world!
Hello, world!
Hello, world!
  • SyntaxError: invalid syntax: while 반복문의 형식을 지키지 않았을 때 발생하는 에러입니다. while 끝에 :(콜론)을 빠뜨리지 않았는지 확인해주세요.

  • SyntaxError: expected an indented block: while 다음 줄에 오는 반복할 코드의 들여쓰기가 맞지 않아서 발생하는 에러입니다. 반복할 코드와 변화식에서 들여쓰기 4칸을 했는지 확인해주세요.

먼저 반복문에 사용할 변수 i에 0을 할당합니다. 그리고 while에는 조건식만 지정하면 됩니다. 여기서 while 반복문은 반드시 반복할 코드 안에 변화식을 지정해야 합니다. 만약 조건식만 지정하고 변화식을 생략하면 반복이 끝나지 않고 계속 실행(무한 루프)되므로 주의해야 합니다.

그림 17-2 while 반복문의 기본 형태
그림 ‎17 2 while 반복문의 기본 형태

i < 100과 같이 조건식을 지정하여 i가 100 미만일 때만 반복하고, i가 100이 되면 반복을 끝내도록 만들었습니다. 그리고 반복할 코드의 변화식에는 i += 1i를 1씩 증가시켰으므로 i가 0부터 99까지 증가하면서 100번 반복하게 됩니다. 물론 변화식 i += 1을 풀어서 i = i + 1로 만들어도 동작은 같습니다.