본문 바로가기
코딩교육/Python 초등교육에서 전문가까지

1단계 : 7. 조건문과 반복문 (feat. 조건문과 반복문 활용 예제)

by 제리토리 2025. 1. 29.
728x90
반응형

 

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 프로그래밍의 핵심 도구입니다.

두 구조를 결합하면 다양한 문제를 효율적으로 해결할 수 있으며, 데이터 처리, 사용자 상호작용, 시뮬레이션 등 다양한 분야에서 활용 가능합니다.

 

핵심 정리

 

   ㉮ 조건문 활용:

      • 특정 조건에 따라 실행 흐름을 제어.

 

   ㉯ 반복문 활용:

      • 동일한 작업을 여러 번 수행.

 

   ㉰ 결합 활용:

      • 조건문과 반복문을 결합하여 복잡한 문제 해결 가능.

 

728x90
반응형