while True(무한 반복문)란?
while True 루프는 Python에서 매우 강력한 프로그래밍 도구입니다. 이 루프는 조건이 항상 참(True)이므로, 내부에 있는 코드는 무한히 반복됩니다. 이러한 루프는 조건부 루프(conditional loop)의 한 예로, 루프를 중단하는 명시적인 조건이나 break가 없으면 영원히 계속됩니다.
언제 사용하는가? while True 루프는 주로 다음과 같은 상황에서 사용됩니다:
- 사용자 입력을 받고, 유효하지 않은 입력에 대해서는 무한 반복하면서 계속 입력을 요청할 때
- 특정 조건이 충족될 때까지 계속 작업을 수행해야 할 때. 예를 들어, 네트워크 연결이 성공할 때까지 시도하는 경우
- 서버와 같이 계속해서 서비스를 제공해야 하는 프로그램에서, 중단 명령을 받을 때까지 무한히 동작해야 할 때
이러한 루프의 중요한 점은 어떻게 안전하게 빠져나오는가입니다. 무한 루프가 특정 조건에서 중단될 수 있도록, break 문을 적절하게 사용하는 것이 필수적입니다.
다음은 예시를 통해 while True에 대한 기본적인 사용방법을 보여드리겠습니다 :)
While Ture 사용 예시
예시 1: 기본적인 무한 루프
while True:
print("Hello, world!")
출력 결과
Hello, world!
Hello, world!
Hello, world!
...(무한 반복)
예시 2: 사용자 입력을 받는 루프
while True:
user_input = input("종료하려면 'exit'를 입력하세요: ")
if user_input == "exit":
break
print("입력한 내용:", user_input)
출력 결과
종료하려면 'exit'를 입력하세요: 안녕하세요
입력한 내용: 안녕하세요
종료하려면 'exit'를 입력하세요: exit
예시 3: 특정 조건에서 루프 중단
i = 0
while True:
print(i)
i += 1
if i > 5:
break
출력 결과
0
1
2
3
4
5
예시 4: 무한 루프 내에서 예외 처리
while True:
try:
number = int(input("숫자를 입력하세요: "))
except ValueError:
print("숫자가 아닙니다. 다시 시도해주세요.")
continue
print("입력한 숫자:", number)
break
출력 결과
숫자를 입력하세요: 문자열
숫자가 아닙니다. 다시 시도해주세요.
숫자를 입력하세요: 10
입력한 숫자: 10
예시 5: 카운트 다운
count = 10
while True:
print(count)
count -= 1
if count < 0:
print("여의도 불꽃 축제를 시작하겠습니다!")
break
출력 결과
10
9
8
7
6
5
4
3
2
1
0
여의도 불꽃 축제를 시작하겠습니다!
예시 6: 무한 반복 메뉴 선택
while True:
choice = input("1: 시작, 2: 설정, 3: 종료 > ")
if choice == "1":
print("게임을 시작합니다.")
elif choice == "2":
print("설정 메뉴를 엽니다.")
elif choice == "3":
print("게임을 종료합니다.")
break
else:
print("잘못된 입력입니다.")
출력 결과
1: 시작, 2: 설정, 3: 종료 > 4
잘못된 입력입니다.
1: 시작, 2: 설정, 3: 종료 > 1
게임을 시작합니다.
1: 시작, 2: 설정, 3: 종료 > 3
게임을 종료합니다.
예시 7: 무한 루프와 break의 결합
i = 0
while True:
if i % 5 == 0 and i != 0:
print("5의 배수: ", i)
break
i += 1
출력 결과
5의 배수: 5
예시 8: 사용자로부터 유효한 입력 받기
while True:
input_data = input("숫자를 입력하세요 (종료하려면 'q' 입력): ")
if input_data == 'q':
break
if input_data.isdigit():
print(f"입력된 숫자: {input_data}")
else:
print("유효하지 않은 입력입니다.")
출력 결과
숫자를 입력하세요 (종료하려면 'q' 입력): hello
유효하지 않은 입력입니다.
숫자를 입력하세요 (종료하려면 'q' 입력): 123
입력된 숫자: 123
예시 9: 특정 조건이 충족될 때까지 반복하기
counter = 0
while True:
counter += 1
print(f"카운터: {counter}")
if counter == 5:
break
출력 결과
카운터: 1
카운터: 2
카운터: 3
카운터: 4
카운터: 5
위의 예시들은 while True
루프를 효과적으로 사용하는 방법을 보여줍니다. break
문을 활용하면 특정 조건에서 무한 루프를 적절히 종료할 수 있습니다~!
다양한 시나리오에서 while True
를 사용하면 유연하고 효과적인 코드를 작성해 보세요 :)
더 자세한 정보는 Python의 공식 문서에서 확인하실 수 있습니다.
링크 Python 공식 문서 - while true