while True:
num = int(input('번호 입력(종료: 0): '))
if num == 0:
break # while문 강제종료
print('while 무한루프로 반복 중')
결과)
번호 입력(종료: 0): 1
while 무한루프로 반복 중
번호 입력(종료: 0): 4
while 무한루프로 반복 중
번호 입력(종료: 0): 0
파이썬 소스 및 결과 입니다. 소스 설명)
해당 파이썬 코드는 사용자가 0을 입력할 때까지 반복되는 무한 루프(infinite loop)를 구현합니다. while True: 문은 조건이 항상 참이므로 무한히 반복됩니다.
코드 분석
while True: 이 문장은 무한 루프의 시작을 의미합니다. True는 항상 참인 조건이므로, 이 루프는 break와 같은 특정 명령어가 실행되기 전까지는 계속 반복됩니다.
num = int(input('번호 입력(종료: 0): ')) 이 줄은 사용자로부터 입력을 받는 부분입니다.
- input('번호 입력(종료: 0): '): 사용자에게 '번호 입력(종료: 0): '라는 메시지를 표시하고, 키보드 입력을 받습니다. 입력받은 값은 항상 문자열(string) 형태로 저장됩니다.
- int(...): input 함수로 받은 문자열을 정수(integer)로 변환합니다. 이렇게 해야만 아래의 if num == 0:와 같이 숫자 비교가 가능해집니다.
if num == 0: if 문은 특정 조건이 참일 때만 내부 코드를 실행합니다. 여기서는 변수 num의 값이 0과 같은지 확인합니다.
break 이 명령어는 if 조건(num == 0)이 참일 때 실행되며, 현재 속해 있는 가장 가까운 반복문(여기서는 while 루프)을 즉시 종료시킵니다. 이 명령어가 실행되면 프로그램은 while 루프 밖으로 빠져나가게 됩니다.
print('while 무한루프로 반복 중') 이 줄은 if num == 0: 조건이 거짓일 때(즉, 사용자가 0이 아닌 다른 숫자를 입력했을 때)만 실행됩니다. 이 문장은 if 문의 들여쓰기 바깥에 있기 때문에 if 조건에 해당하지 않을 경우에만 실행됩니다.
실행 결과 설명
1. 번호 입력(종료: 0): 1
- 사용자가 1을 입력합니다.
- int(input(...))에 의해 num 변수에 정수 1이 할당됩니다.
- if num == 0: 조건(if 1 == 0:)은 거짓이므로, break 문은 실행되지 않습니다.
- print('while 무한루프로 반복 중')가 실행되어 메시지가 출력됩니다.
- 다시 while 루프의 처음으로 돌아가서 다음 입력을 기다립니다.
2. 번호 입력(종료: 0): 4
- 사용자가 4를 입력합니다.
- num 변수에 정수 4가 할당됩니다.
- if num == 0: 조건(if 4 == 0:)은 거짓이므로, break 문은 실행되지 않습니다.
- print('while 무한루프로 반복 중')가 다시 실행됩니다.
- 다시 루프의 처음으로 돌아갑니다.
3. 번호 입력(종료: 0): 0
- 사용자가 0을 입력합니다.
- num 변수에 정수 0이 할당됩니다.
- if num == 0: 조건(if 0 == 0:)은 참이 됩니다.
- break 명령어가 실행되어 무한 루프가 종료됩니다.
- 더 이상 실행할 코드가 없으므로 프로그램이 종료됩니다.
'파이썬(Python)' 카테고리의 다른 글
| 파이썬, for문, 1~30 사이의 정수 중에서 7의 배수 출력 (1) | 2025.08.31 |
|---|---|
| 파이썬에서 in 연산자 두번째 역할 : 리스트의 각 요소를 변수에 할당하는 역할 (2) | 2025.08.31 |
| 파이썬, while문 (단을 입력받아 구구단 출력) (0) | 2025.08.30 |
| 파이썬, for문 (단을 입력받아 구구단 출력) (0) | 2025.08.30 |
| 파이썬, for문 (문자열을 이용한 반복 출력) (0) | 2025.08.30 |
콘텐츠 내 자동삽입광고
