Skip to content

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:
    실행할 코드

위 코드는 조건식이 항상 참이므로 무한 루프에 빠진다. 이 코드를 실행하면 프로그램이 종료되지 않는다.

Powered by vitepress-logo-mini