Python Day 8: 파이썬 반복문 (while) - 유연한 반복 작업 이해하기
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. 실습 과제
- 짝수 입력받기
- 사용자가 짝수를 입력할 때까지 반복하는 프로그램을 작성하세요.
while True: number = int(input("짝수를 입력하세요: ")) if number % 2 == 0: print("짝수를 입력했습니다. 종료합니다.") break else: print("짝수가 아닙니다. 다시 입력하세요.")
- 카운트다운 프로그램
- 사용자로부터 숫자를 입력받아 카운트다운을 출력한 후 "발사!"를 출력하세요.
count = int(input("카운트다운 시작 숫자를 입력하세요: ")) while count > 0: print(count) count -= 1 print("발사!")
- 숫자 더하기 프로그램
- 사용자가 입력한 숫자를 계속 더하다가 "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