파이썬(Python)

Python Day 8: 파이썬 반복문 (while) - 유연한 반복 작업 이해하기

NerdCodeX 2025. 1. 27. 07:00

 

1. while 반복문이란 무엇인가요?

안녕하세요! 오늘은 파이썬의 또 다른 반복문인 while 반복문에 대해 알아보겠습니다. while 반복문은 조건이 참(True)인 동안 코드를 반복 실행합니다. 조건에 따라 반복 횟수가 달라질 수 있기 때문에 매우 유연하게 사용할 수 있습니다. 이 글에서는 while 반복문의 기본 구조와 무한 루프를 방지하는 방법을 배우고, 숫자 추측 게임을 작성하며 실습을 진행합니다.

 


2. while 반복문의 기본 구조

기본 구조

while 조건:
    실행할 코드
  • 조건: 반복문이 실행될 조건을 나타냅니다.
  • 실행할 코드: 조건이 참일 때 반복적으로 실행될 코드입니다.

예제 1: 기본 while 반복문

count = 0
while count < 5:
    print(f"현재 카운트: {count}")
    count += 1

출력:

현재 카운트: 0
현재 카운트: 1
현재 카운트: 2
현재 카운트: 3
현재 카운트: 4

 


3. 무한 루프와 탈출 조건

무한 루프란?

while 반복문의 조건이 항상 참(True)일 경우, 프로그램이 멈추지 않고 계속 실행되는 상태를 무한 루프라고 합니다.

예제 2: 무한 루프

while True:
    print("이 코드는 멈추지 않습니다!")

위 코드는 조건이 항상 참이기 때문에 종료되지 않습니다.

무한 루프 방지하기

  • 탈출 조건 설정: break 키워드를 사용하여 루프를 강제로 종료할 수 있습니다.

예제 3: 탈출 조건을 사용한 반복문

while True:
    answer = input("종료하려면 'exit'을 입력하세요: ")
    if answer == "exit":
        print("프로그램을 종료합니다.")
        break

출력:

종료하려면 'exit'을 입력하세요: hello
종료하려면 'exit'을 입력하세요: exit
프로그램을 종료합니다.

continue로 반복 건너뛰기

continue 키워드를 사용하면 현재 반복을 건너뛰고 다음 반복으로 넘어갑니다.

 

예제 4: continue 사용하기

num = 0
while num < 5:
    num += 1
    if num == 3:
        continue
    print(num)

출력:

1
2
4
5

4. 실습: 숫자 추측 게임

문제 설명

사용자가 컴퓨터가 생성한 숫자를 추측하는 게임을 작성합니다. 사용자가 정답을 맞출 때까지 반복되며, 숫자가 더 높은지 낮은지 힌트를 제공합니다.

코드

import random

# 컴퓨터가 1부터 100 사이의 숫자를 랜덤으로 생성
secret_number = random.randint(1, 100)

print("1부터 100 사이의 숫자를 맞춰보세요!")

while True:
    guess = int(input("숫자를 입력하세요: "))

    if guess < secret_number:
        print("더 큰 숫자입니다.")
    elif guess > secret_number:
        print("더 작은 숫자입니다.")
    else:
        print("정답입니다! 게임을 종료합니다.")
        break

출력 예시

1부터 100 사이의 숫자를 맞춰보세요!
숫자를 입력하세요: 50
더 큰 숫자입니다.
숫자를 입력하세요: 75
더 작은 숫자입니다.
숫자를 입력하세요: 65
정답입니다! 게임을 종료합니다.

5. 실습 과제

  1. 짝수 입력받기
    • 사용자가 짝수를 입력할 때까지 반복하는 프로그램을 작성하세요.
    while True:
        number = int(input("짝수를 입력하세요: "))
        if number % 2 == 0:
            print("짝수를 입력했습니다. 종료합니다.")
            break
        else:
            print("짝수가 아닙니다. 다시 입력하세요.")
    
  2. 카운트다운 프로그램
    • 사용자로부터 숫자를 입력받아 카운트다운을 출력한 후 "발사!"를 출력하세요.
    count = int(input("카운트다운 시작 숫자를 입력하세요: "))
    while count > 0:
        print(count)
        count -= 1
    print("발사!")
    
  3. 숫자 더하기 프로그램
    • 사용자가 입력한 숫자를 계속 더하다가 "0"을 입력하면 합계를 출력하고 종료하세요.
    total = 0
    while True:
        number = int(input("숫자를 입력하세요 (0을 입력하면 종료): "))
        if number == 0:
            break
        total += number
    print(f"입력한 숫자의 합: {total}")
    

 

while 반복문은 조건에 따라 유연하게 반복 작업을 처리할 수 있는 강력한 도구입니다. 이 글을 통해 while 반복문의 기본 구조와 무한 루프 방지 방법을 배우고, 숫자 추측 게임과 다양한 실습을 통해 실제로 활용하는 방법을 익히셨을 겁니다. 더 궁금한 점이나 의견이 있다면 댓글로 남겨주세요. 여러분의 코딩 여정을 응원합니다!

 

 

 

Python Day 7: 파이썬 반복문 (for) - 효율적인 반복 작업 이해하기

1. 반복문이란 무엇인가요?안녕하세요! 오늘은 파이썬에서 반복 작업을 효율적으로 처리할 수 있는 for 반복문에 대해 알아보겠습니다. 반복문은 동일한 작업을 여러 번 실행해야 할 때 사용하는

nerdcodex.tistory.com

 

 

 

Python Day 6: 파이썬 조건문 - 로직 설계의 기본

1. 조건문이란 무엇인가요?안녕하세요! 오늘은 파이썬 프로그래밍의 핵심 개념 중 하나인 조건문(Conditional Statements)에 대해 알아보겠습니다. 조건문은 프로그램이 특정 조건을 만족할 때 어떤 동

nerdcodex.tistory.com