
Python에서 조건문과 반복문을 결합하면 복잡한 문제를 효율적으로 해결할 수 있습니다. 조건문으로 특정 상황을 처리하고, 반복문으로 작업을 반복적으로 실행하면 강력한 프로그램을 작성할 수 있습니다. 이 장에서는 조건문과 반복문을 활용한 실용적인 예제를 다룹니다.
1. 숫자 관련 예제
㉮ 숫자 범위 내의 짝수 출력
for i in range(1, 21): # 1부터 20까지 반복
if i % 2 == 0: # 짝수인지 확인
print(i, end=" ")
결과:
2 4 6 8 10 12 14 16 18 20
㉯ 소수 판별
number = int(input("숫자를 입력하세요: "))
if number > 1:
for i in range(2, number):
if number % i == 0:
print(f"{number}는 소수가 아닙니다.")
break
else:
print(f"{number}는 소수입니다.")
else:
print("1보다 큰 숫자를 입력하세요.")
결과:
숫자를 입력하세요: 17
17는 소수입니다.
2. 문자열 처리 예제
㉮ 문자열 내 특정 문자 세기
text = "Python programming is fun"
target = "o"
count = 0
for char in text:
if char == target:
count += 1
print(f"'{target}' 문자는 {count}번 나타납니다.")
결과:
'o' 문자는 3번 나타납니다.
㉯ 문자열에서 모음 제거
text = "Hello, World!"
vowels = "aeiouAEIOU"
result = ""
for char in text:
if char not in vowels:
result += char
print(f"모음 제거 결과: {result}")
결과:
모음 제거 결과: Hll, Wrld!
3. 사용자 입력 예제
㉮ 간단한 계산기
while True:
num1 = int(input("첫 번째 숫자 입력: "))
num2 = int(input("두 번째 숫자 입력: "))
operator = input("연산자 입력 (+, -, *, /): ")
if operator == "+":
print(f"결과: {num1 + num2}")
elif operator == "-":
print(f"결과: {num1 - num2}")
elif operator == "*":
print(f"결과: {num1 * num2}")
elif operator == "/":
if num2 != 0:
print(f"결과: {num1 / num2}")
else:
print("0으로 나눌 수 없습니다.")
else:
print("올바른 연산자를 입력하세요.")
again = input("계속하시겠습니까? (y/n): ")
if again.lower() != "y":
break
㉯ 로그인 시스템
USERNAME = "admin"
PASSWORD = "1234"
for attempt in range(3): # 최대 3번 시도
input_username = input("사용자 이름: ")
input_password = input("비밀번호: ")
if input_username == USERNAME and input_password == PASSWORD:
print("로그인 성공!")
break
else:
print("잘못된 사용자 이름 또는 비밀번호입니다.")
else:
print("계정 잠금. 관리자에게 문의하세요.")
4. 데이터 처리 예제
㉮ 리스트 합계와 평균 계산
numbers = [10, 20, 30, 40, 50]
total = 0
for num in numbers:
total += num
average = total / len(numbers)
print(f"합계: {total}, 평균: {average}")
결과:
합계: 150, 평균: 30.0
㉯ 중첩 반복문을 사용한 2차원 리스트 출력
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
for row in matrix:
for value in row:
print(value, end=" ")
print() # 행 구분
결과:
1 2 3
4 5 6
7 8 9
5. 게임 및 시뮬레이션 예제
㉮ 숫자 맞히기 게임
import random
secret_number = random.randint(1, 100)
attempts = 0
print("1부터 100 사이의 숫자를 맞혀보세요!")
while True:
guess = int(input("숫자 입력: "))
attempts += 1
if guess < secret_number:
print("더 큰 숫자를 입력하세요.")
elif guess > secret_number:
print("더 작은 숫자를 입력하세요.")
else:
print(f"축하합니다! {attempts}번 만에 맞혔습니다.")
break
㉯ 간단한 별 찍기
rows = int(input("별의 줄 수를 입력하세요: "))
for i in range(1, rows + 1):
print("*" * i)
결과:
별의 줄 수를 입력하세요: 5
*
**
***
****
*****
6. 조건문과 반복문 사용 시 주의사항
㉮ 코드 가독성 유지
• 조건문과 반복문이 중첩되면 코드가 복잡해질 수 있으므로 적절히 함수로 분리합니다.
㉯ 무한 루프 방지
• while 문에서는 종료 조건을 명확히 설정합니다.
㉰ 입력값 유효성 검사
• 사용자 입력 데이터를 조건문으로 검증하여 예외 상황을 방지합니다.
7. 요약
조건문과 반복문은 Python 프로그래밍의 핵심 도구입니다.
두 구조를 결합하면 다양한 문제를 효율적으로 해결할 수 있으며, 데이터 처리, 사용자 상호작용, 시뮬레이션 등 다양한 분야에서 활용 가능합니다.
핵심 정리
㉮ 조건문 활용:
• 특정 조건에 따라 실행 흐름을 제어.
㉯ 반복문 활용:
• 동일한 작업을 여러 번 수행.
㉰ 결합 활용:
• 조건문과 반복문을 결합하여 복잡한 문제 해결 가능.
'코딩교육 > Python 초등교육에서 전문가까지' 카테고리의 다른 글
1단계 : 8. 함수와 모듈 (feat. 매개변수와 반환값 이해) (1) | 2025.01.31 |
---|---|
1단계 : 8. 함수와 모듈 (feat. 함수 정의 및 호출하기) (0) | 2025.01.30 |
1단계 : 7. 조건문과 반복문 (feat. 중첩 조건문과 반복문) (0) | 2025.01.28 |
1단계 : 7. 조건문과 반복문 (feat. 반복문 : for 와 while 사용법) (0) | 2025.01.27 |
1단계 : 7. 조건문과 반복문 (feat. 조건문 : if, elif, else 구조) (0) | 2025.01.26 |