파이썬 반복문 while문 예제와 무한루프 처리

파이썬에서 반복적인 작업을 수행하는 데 있어 가장 많이 사용되는 두 가지 반복문은 while 문과 for 문입니다. 그 중에서 while 문은 특정 조건이 참인 동안 계속해서 명령을 실행하는 구조로 되어 있습니다. 이번 포스팅에서는 while 문에 대해 자세히 살펴보고, 무한 루프 처리 및 다양한 예제를 통해 이해도를 높여보겠습니다.

1. while 문 개요

파이썬에서 while 문은 주어진 조건이 참인 동안 특정 코드를 반복 실행하는 로직을 갖고 있습니다. 기본 구조는 다음과 같습니다:

while 조건식:
  # 반복할 코드

조건식의 결과가 True일 때, 반복문 안의 코드가 실행됩니다. 만약 조건식이 False가 되면 반복이 종료됩니다. 일반적으로 반복문 내부에는 조건을 변경하는 코드가 포함되어야 무한 반복을 피할 수 있습니다.

2. 무한 루프 처리

while 문을 사용해서 무한 루프를 만들 수 있습니다. 이는 보통 조건식에 True를 넣어 구현되며, 예를 들어 다음과 같은 형태로 작성합니다:

while True:
  # 계속 반복할 코드

이 경우, 프로그램은 사용자가 명시적으로 종료 명령을 내릴 때까지 계속해서 반복됩니다. 이를 사용할 때는 반드시 루프를 안전하게 종료하는 방법을 마련해야 합니다. 일반적으로는 break 문을 사용하여 강제로 루프를 탈출할 수 있습니다.

무한 루프 예제

다음은 무한 루프를 이용한 간단한 예제입니다:

while True:
  user_input = input("종료하려면 'exit'를 입력하세요: ")
  if user_input == 'exit':
    break
  print("입력한 내용:", user_input)

위 코드는 사용자가 ‘exit’를 입력하기 전까지 계속해서 입력을 받을 것입니다. 이를 통해 반복문 탈출의 기본적인 예를 살펴볼 수 있습니다.

3. while 문과 break, continue

breakcontinue는 반복문 내에서 흐름 제어를 위해 사용되는 두 가지 중요한 명령어입니다.

  • break: 반복문을 즉시 종료합니다.
  • continue: 현재 반복을 건너뛰고 다음 반복으로 이동합니다.

break 사용 예제

다음은 break 문을 활용한 예제입니다:

i = 0
while True:
  print(i)
  i += 1
  if i >= 10:
    break

위 코드에서는 0부터 시작하여 i가 10 이상이 될 때까지 숫자를 출력하며, 조건을 만족할 시 반복문을 종료합니다.

continue 사용 예제

다음은 continue 문을 활용한 예제입니다:

i = 0
while i < 10:
  i += 1
  if i % 2 == 0:
    continue # 짝수일 경우 다음 반복으로 이동
  print(i) # 홀수만 출력

이 코드는 i가 10 미만인 동안 1씩 증가시키며, 짝수일 경우 출력하지 않고 다음 반복으로 넘어갑니다. 결과적으로 홀수만 출력됩니다.

4. while 문을 활용한 실전 예제

이제 while 문을 활용한 간단한 게임 예제를 만들어 보겠습니다. 사용자가 1부터 20 사이의 난수를 맞추는 게임입니다:

import random
correct_answer = random.randint(1, 20)
attempts = 0
while True:
  guess = int(input("1부터 20까지의 숫자를 입력하세요: "))
  attempts += 1
  if guess == correct_answer:
    print("정답입니다!")
    break
  elif guess < correct_answer:
    print("더 큰 숫자를 입력하세요.")
  else:
    print("더 작은 숫자를 입력하세요.")
print(f"{attempts}번 만에 맞추셨습니다.")

이 예제에서는 사용자로부터 숫자를 입력받아 정답과 비교하여 적절한 메시지를 출력합니다. 사용자가 정답을 맞출 때까지 반복됩니다.

5. 정리

이번 포스팅에서는 파이썬의 while 문과 관련된 다양한 내용을 살펴보았습니다. 무한 루프 처리 방법, 흐름 제어 명령어인 break와 continue의 사용법, 그리고 실제 예제를 통해 while 문의 활용에 대해 이해했습니다. 이러한 기본적인 반복문을 활용하여 프로그래밍의 다양한 구조를 구현할 수 있습니다.

앞으로도 다양한 반복문 사용법과 예제를 통해 효율적인 코딩 능력을 키워보시기 바랍니다.

자주 묻는 질문 FAQ

파이썬의 while 문은 무엇인가요?

while 문은 지정된 조건이 참인 동안 특정 코드를 반복 실행하는 구조를 가지고 있습니다.

무한 루프는 어떻게 발생하나요?

무한 루프는 조건식이 항상 참인 경우 발생하며, 이를 제어하기 위해 break 문을 활용할 수 있습니다.

break와 continue는 어떻게 사용하나요?

break는 반복문을 즉시 종료하고, continue는 현재 반복을 건너뛰어 다음 반복으로 진행하게 합니다.

while 문을 사용할 때 주의할 점은 무엇인가요?

조건식이 반드시 변해야 무한 루프를 피할 수 있으며, 반복문 내에서 적절한 종료 조건을 설정하는 것이 중요합니다.

파이썬의 while 문 활용 예제는 어떤 것이 있나요?

예를 들어, 사용자가 난수를 맞추는 게임을 만들 수 있으며, 사용자의 입력에 따라 결과를 안내하는 구조로 설계할 수 있습니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤