while 문은 조건이 참(True)인 동안 계속해서 코드 블록을 반복 실행하는 반복문이다. 조건이 거짓(False)이 되면 반복문이 종료된다. while 문을 통해 특정 조건이 만족될 때까지 반복 작업을 수행할 수 있다.
1. 기본 구조
while 문의 기본 구조는 다음과 같다.
while 조건:
# 조건이 참일 때 반복 실행되는 코드
2. 예제
count = 0
while count < 5:
print(f"Count: {count}")
count += 1
이 예제에서 count가 5보다 작은 동안 print 문이 실행되고, count는 매 반복마다 1씩 증가한다. count가 5가 되면 조건이 거짓이 되어 반복문이 종료된다.
3. while 문과 else
while 문에서도 for 문과 마찬가지로 else 블록을 사용할 수 있다. else 블록은 while 문이 정상적으로 종료될 때 실행된다.
count = 0
while count < 5:
print(f"Count: {count}")
count += 1
else:
print("반복문이 정상적으로 종료되었습니다.")
이 예제에서 count가 5가 되면 else 블록이 실행된다.
4. 무한 루프 (Infinite Loop)
조건이 항상 참인 경우, while 문은 무한 루프를 생성한다. 이는 특정 조건이 발생할 때까지 반복 작업을 계속 수행해야 하는 경우 유용할 수 있지만, 적절한 종료 조건을 명시하지 않으면 프로그램이 중단되지 않을 수 있다.
while True:
user_input = input("종료하려면 'exit'를 입력하세요: ")
if user_input == 'exit':
print("프로그램을 종료합니다.")
break
이 예제에서 while True는 무한 루프를 생성하고, 사용자가 'exit'를 입력하면 break 문을 통해 루프가 종료된다.
5. break와 continue 키워드
break와 continue 키워드는 while 문 내에서 반복 흐름을 제어하는 데 사용된다.
break: 반복문을 즉시 종료한다.
continue: 현재 반복을 건너뛰고 다음 반복을 계속 진행한다.
count = 0
while count < 10:
print(f"Count: {count}")
count += 1
if count == 5:
break
이 예제에서 count가 5가 되면 break 문이 실행되어 반복문이 종료된다.
count = 0
while count < 10:
count += 1
if count % 2 == 0:
continue
print(f"Count: {count}")
이 예제에서 count가 짝수일 때는 continue 문이 실행되어 print 문이 건너뛰어지고, count가 홀수일 때만 출력된다.
6. 중첩 while 문
while 문은 다른 while 문이나 반복문 안에 중첩될 수 있다. 이를 통해 더 복잡한 반복 구조를 구현할 수 있다.
i = 1
while i <= 9:
j = 1
while j <= 9:
print(f"{i} x {j} = {i * j}", end="\t")
j += 1
print()
i += 1
이 예제에서는 i와 j를 사용하여 1부터 9까지의 구구단을 출력한다. 내부 while 문은 j 값을 증가시키며, 외부 while 문은 i 값을 증가시킨다.
7. pass 키워드
파이썬의 pass 구문은 아무런 동작도 수행하지 않는 명령문이다. 코드의 자리만 차지하고 실제로 실행되는 것은 없다. 주로 코드 블록을 비워둘 때, 문법적으로는 완성된 코드를 작성해야 할 때 사용된다.
if True:
pass # 나중에 구현할 코드를 위해 자리만 차지함
조건문에서 pass 구문은 특정 조건에 대해 아직 구현되지 않은 코드를 처리할 때 유용하다.
x = 10
if x > 0:
pass # 여기에 나중에 구현할 코드가 들어갈 예정
else:
print("x는 0보다 작거나 같습니다.")