
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. 요약
중첩 조건문과 반복문은 복잡한 논리와 작업을 처리하는 데 필수적인 도구입니다.
이를 적절히 활용하면 프로그램의 기능과 유연성을 높일 수 있습니다.
핵심 정리
㉮ 중첩 조건문:
• 조건문 안에 또 다른 조건문을 작성하여 세부적인 논리를 처리.
㉯ 중첩 반복문:
• 반복문 안에 또 다른 반복문을 작성하여 이중 배열이나 데이터 집합 처리.
㉰ 조건문과 반복문 결합:
• 특정 조건에 따라 반복 작업을 제어하거나 실행.
'코딩교육 > Python 초등교육에서 전문가까지' 카테고리의 다른 글
1단계 : 8. 함수와 모듈 (feat. 함수 정의 및 호출하기) (0) | 2025.01.30 |
---|---|
1단계 : 7. 조건문과 반복문 (feat. 조건문과 반복문 활용 예제) (1) | 2025.01.29 |
1단계 : 7. 조건문과 반복문 (feat. 반복문 : for 와 while 사용법) (0) | 2025.01.27 |
1단계 : 7. 조건문과 반복문 (feat. 조건문 : if, elif, else 구조) (0) | 2025.01.26 |
1단계 : 6. 연산과 계산 (feat. 연산자 우선 순위) (0) | 2025.01.25 |