파이썬(Python)은 쉽고 강력한 문법으로 프로그래밍을 처음 배우는 사람들뿐만 아니라 숙련된 개발자들에게도 인기를 끌고 있습니다. 파이썬에서 반복문은 코드를 효율적으로 실행하기 위한 핵심 도구로, 그 중 while문은 조건 기반의 반복을 가능하게 합니다.
1. 파이썬 while문의 기본 구조
while문은 조건이 참(True)인 동안 지정된 코드를 반복 실행합니다. 기본적인 구문은 다음과 같습니다:

조건이 참으로 유지되는 동안 while 블록 안의 코드가 반복 실행됩니다. 간단한 예제를 통해 이를 이해해보겠습니다:
예제: 카운트다운
countdown = 5
while countdown > 0:
print("카운트다운:", countdown)
countdown -= 1
설명:
위 코드에서 countdown 값이 0보다 클동안 반복이 계속됩니다. 반복이 진행될수록 countdown 값이 감소하여, 조건이 더 이상 참이 되지 않으면 반복이 종료됩니다.
2. 무한 루프와 안전한 탈출 방법
while문은 조건이 항상 참(True)일 경우 무한 루프를 형성합니다. 무한 루프는 의도적으로 설계되었을 때 매우 유용할 수 있지만, 탈출 조건이 없다면 프로그램이 멈추지 않고 계속 실행될 위험이 있습니다.
while True:
print("이 코드는 계속적으로 실행됩니다.")
설명:
위 코드는 조건이 항상 True이기 때문에 무한히 실행됩니다. 이를 안전하게 종료하려면 break 문을 사용해 루프를 종료해야 합니다:
while True:
user_input = input("종료하려면 '0'을 입력하세요: ")
if user_input == "0":
print("프로그램을 종료합니다.")
break
else:
print("입력값: ", user_input)
설명;
이 코드는 사용자가 exit을 입력하면 루프를 종료합니다. 이는 효율적이고 안전한 무한 루프 설계 방법입니다.
3. while문과 else 구문
while문은 else 구문과 함께 사용할 수 있습니다. else 블록은 while문의 조건이 더 이상 참이 아니게 되었을 때 실행됩니다.
count = 0
while count < 3:
print("count=", count)
count += 1
else:
print("반복 실행행 종료")
위 코드에서 count가 3이 되어 while문이 종료되면, else 블록이 실행됩니다. 이는 루프의 종료 상태를 처리하거나 추가 작업을 수행하는 데 유용합니다.
4. break와 continue로 루프 제어
파이썬의 while문은 break와 continue 키워드를 통해 반복의 흐름을 세부적으로 제어할 수 있습니다.
break 키워드
break는 루프를 즉시 종료하고 반복문 밖으로 나가게 합니다. 이는 특정 조건에서 루프를 중단해야 할 때 유용합니다.
count = 0
while count < 10: # 10보다 작은 동안 반복
print("count=", count)
if count == 6: # count가 6
print("6에서 루프 종료")
break # 루프 종료
count += 1

continue 키워드
continue는 현재 반복의 나머지 부분을 건너뛰고 다음 반복으로 넘어갑니다.
count = 0
while count < 5: # count가 5보다 작을 때까지 반복
count += 1
if count == 3:
print("3을 출력하지 않습니다.")
continue # 다음 반복으로 넘어감
print("count=", count)
설명:
위 코드는 count가 3일 때 continue가 실행되어 print 문이 건너뛰어집니다.
5. 중첩 while문과 활용
while문은 다른 while문이나 반복문 안에서 중첩하여 사용할 수 있습니다. 그러나 중첩 루프는 복잡성을 높이고 성능 문제를 야기할 수 있으므로 신중히 사용해야 합니다.
i = 0
while i < 3: # 3번 반복
j = 0
while j < 2: # 2번 반복
print(f"i={i}, j={j}")
j += 1
i += 1
설명:
위 코드에서는 두 개의 while문이 중첩되어 i와 j의 조합이 출력됩니다.
7.마무리
파이썬의 while문은 조건 기반 반복을 구현할 수 있는 강력한 도구입니다. 이 강좌에서는 while문의 기본 구조부터 고급 기능까지 다뤘으며, 무한 루프와 탈출 조건, break와 continue 키워드, 그리고 else 구문과 중첩 루프를 포함한 다양한 개념을 설명했습니다.
'파이썬' 카테고리의 다른 글
파이썬 제어문-for문 문법 강좌 정리 노트 (시퀀스, range, break, continue) (0) | 2025.03.19 |
---|---|
초보 개발자에게 프로그래밍 언어로 파이썬을 고려해야하는 이유 (2) | 2025.03.18 |
파이썬 제어문-if문 문법 강좌 정리 노트(if-else문, elif문, 논리연산자, 중첩if문) (0) | 2025.03.16 |
파이썬 제어문 문법 강좌 정리 노트(if문, while문, for문) (0) | 2025.03.16 |
파이썬 자료형-딕셔너리(Dictionary) 문법 강좌 정리 노트 (0) | 2025.03.15 |