콘텐츠 내 자동삽입광고

광고1

posted by 초코생크림빵 2025. 8. 31. 14:51
반응형

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 명령어가 실행되어 무한 루프가 종료됩니다.
  • 더 이상 실행할 코드가 없으므로 프로그램이 종료됩니다.
반응형

콘텐츠 내 자동삽입광고