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

1단계 : 7. 조건문과 반복문 (feat. 중첩 조건문과 반복문)

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

 

Python에서 중첩 조건문반복문은 코드의 논리와 구조를 더욱 세분화하고 복잡한 작업을 처리하는 데 유용합니다. 중첩 구조를 사용하면 조건문 안에 반복문을 포함하거나 반복문 안에 조건문을 작성하여 다양한 상황에 대처할 수 있습니다. 이 장에서는 중첩 조건문과 반복문의 개념, 사용법, 그리고 실용적인 예제를 다룹니다.

 

 

1. 중첩 조건문이란?

 

중첩 조건문은 조건문 안에 또 다른 조건문을 작성하는 구조입니다. 이를 통해 복잡한 조건을 세분화하여 처리할 수 있습니다.

 

   ㉮ 기본 구조

if 조건1:
    if 조건2:
        실행할 코드

 

      예제: 나이와 신분에 따른 요금 계산

age = 17
is_student = True

if age < 18:
    if is_student:
        print("학생 할인 요금입니다.")
    else:
        print("어린이 요금입니다.")
else:
    print("성인 요금입니다.")

 

      결과:

학생 할인 요금입니다.

 

 

 

2. 중첩 반복문이란?

 

 

중첩 반복문은 반복문 안에 또 다른 반복문을 작성하는 구조입니다. 이를 통해 이중 배열이나 여러 데이터 집합을 처리할 수 있습니다.

 

   ㉮ 기본 구조

for 변수1 in 시퀀스1:
    for 변수2 in 시퀀스2:
        실행할 코드

 

      예제: 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

 

 

 

3. 조건문과 반복문 결합

 

 

조건문과 반복문을 결합하면 특정 조건에 따라 반복 작업을 제어할 수 있습니다.

 

   ㉮ 조건문 포함 반복문

 

      반복문 안에 조건문을 작성하여 특정 조건을 만족하는 경우만 작업을 수행합니다.

 

      예제: 짝수만 출력

for i in range(10):
    if i % 2 == 0:
        print(i)

 

결과:

0
2
4
6
8

 

 

   ㉯ 반복문 포함 조건문

 

      조건문 안에 반복문을 작성하여 조건에 따라 반복 작업을 수행합니다.

 

      예제: 사용자 인증 시스템

username = "admin"
password = "1234"

input_username = input("사용자 이름: ")
if input_username == username:
    for attempt in range(3):  # 최대 3번 비밀번호 입력 시도
        input_password = input("비밀번호: ")
        if input_password == password:
            print("로그인 성공!")
            break
    else:
        print("비밀번호 입력 횟수 초과.")
else:
    print("사용자 이름이 일치하지 않습니다.")

 

 

 

4. 중첩 조건문과 반복문의 활용 예제

 

 

   ㉮ 구구단 출력

 

      중첩 반복문을 사용하여 구구단을 출력합니다.

for i in range(2, 10):
    for j in range(1, 10):
        print(f"{i} x {j} = {i * j}")
    print()

 

      결과:

2 x 1 = 2
2 x 2 = 4
...
9 x 9 = 81

 

 

   ㉯ 특정 조건에 맞는 데이터 필터링

 

      리스트에서 특정 조건을 만족하는 요소만 출력합니다.

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

for num in numbers:
    if num % 2 == 0:
        print(f"{num}은 짝수입니다.")

 

      결과:

2은 짝수입니다.
4은 짝수입니다.
6은 짝수입니다.
8은 짝수입니다.
10은 짝수입니다.

 

 

   ㉰ 상품 관리 시스템

 

      조건문과 반복문을 결합하여 간단한 상품 관리 프로그램을 작성합니다.

products = ["apple", "banana", "cherry"]

while True:
    action = input("작업을 선택하세요 (add/view/exit): ")
    if action == "add":
        product = input("추가할 상품: ")
        products.append(product)
        print(f"{product}가 추가되었습니다.")
    elif action == "view":
        for product in products:
            print(product)
    elif action == "exit":
        print("프로그램 종료")
        break
    else:
        print("올바른 작업을 선택하세요.")

 

      결과:

작업을 선택하세요 (add/view/exit): add
추가할 상품: orange
orange가 추가되었습니다.
작업을 선택하세요 (add/view/exit): view
apple
banana
cherry
orange
작업을 선택하세요 (add/view/exit): exit
프로그램 종료

 

 

 

5. 중첩 조건문과 반복문 사용 시 주의사항

 

 

   ㉮ 가독성 유지

      • 중첩된 구조가 너무 복잡하면 코드 가독성이 떨어질 수 있으므로 적절히 분리합니다.

      • 함수나 클래스로 나눠서 코드를 구성하는 것이 좋습니다.

 

   ㉯ 무한 루프 방지

      • 반복문에서 종료 조건이 없으면 무한 루프가 발생할 수 있습니다. 이를 방지하기 위해 조건을 명확히 설정합니다.

 

   ㉰ 조건문 순서 중요

      • 조건문을 작성할 때 조건의 순서가 논리적으로 맞아야 예기치 않은 결과를 방지할 수 있습니다.

 

 

 

6. 요약

 

중첩 조건문과 반복문은 복잡한 논리와 작업을 처리하는 데 필수적인 도구입니다.

이를 적절히 활용하면 프로그램의 기능과 유연성을 높일 수 있습니다.

 

핵심 정리

 

   ㉮ 중첩 조건문:

      • 조건문 안에 또 다른 조건문을 작성하여 세부적인 논리를 처리.

 

   ㉯ 중첩 반복문:

      • 반복문 안에 또 다른 반복문을 작성하여 이중 배열이나 데이터 집합 처리.

 

   ㉰ 조건문과 반복문 결합:

      • 특정 조건에 따라 반복 작업을 제어하거나 실행.

728x90
반응형