while
조건문이 프로그램의 흐름을 변경할 수 있었다면, 반복문은 프로그램의 흐름을 반복한다. 파이썬에서 제공하는 반복문은 while
문과 for
문이 있다.
조건에 의한 반복 조건이 참인 동안 반복 실행한다. | 계수에 의한 반복 지정한 숫자 범위, 혹은 자료 범위 내에서 반복 실행한다. |
while
은 "~하는 동안에"라는 의미를 가지고 있다. while
문은 조건식이 참인 동안 반복하여 실행한다.
python
while 조건식:
실행할 코드
1부터 5까지 출력하는 예제를 통해 while
문의 사용법을 알아보자.
python
n = 1
while n <= 5: # n이 5보다 작거나 같은 동안 반복
print(n) # n 출력
n += 1 # n을 1 증가
plaintext
1
2
3
4
5
if
문과 같이 조건식 뒤에 콜론(:
)을 붙이고, 조건식을 만족하는 동안 반복 실행한다. 반복할 코드는 들여쓰기로 구분한다.
n += 1
이 없다면 n
은 계속 1로 유지되어 무한 루프에 빠지게 된다. 따라서 while
문을 사용할 때는 조건식이 항상 거짓이 되도록 하는 코드를 작성해야 한다.
5부터 1까지 내림차순으로 출력하는 방법을 살펴보자.
python
n = 5
while n > 0: # n이 0보다 큰 경우 반복
print(n) # n 출력
n -= 1 # n을 1 감소
plaintext
5
4
3
2
1
조건을 다음과 같이 변경해도 동일한 결과를 얻을 수 있다.
python
while n > 0 ➡️ while n:
n 값이 0이 되면 while 0:
이 되므로 조건이 거짓이 되고, 반복문은 종료된다.
warning 무한루프
while
문을 사용할 때 주의해야 할 점은 무한 루프에 빠지지 않도록 하는 것이다. 무한 루프는 조건식이 항상 참인 경우에 발생한다. 무한 루프에 빠지면 프로그램이 정상적으로 종료되지 않아 프로그램이 멈추지 않는다. 무한루프를 발생시키는 코드는 다음과 같다.
python
while True:
실행할 코드
위 코드는 조건식이 항상 참이므로 무한 루프에 빠진다. 이 코드를 실행하면 프로그램이 종료되지 않는다.