안녕하세요:) 이번 포스팅에서는 Python의 제어문Controlflowstatement에 대해 알아보겠습니다.
프로그래밍에서 제어문은 코드의 실행 흐름을 조건에 따라 분기하거나 반복적으로 실행하도록 제어하는 구조입니다.
실습 링크
https://github.com/jjangmo91/ParkLab/blob/main/Python/02_Control_flow_statement.ipynb
ParkLab/Python/02_Control_flow_statement.ipynb at main · jjangmo91/ParkLab
Contribute to jjangmo91/ParkLab development by creating an account on GitHub.
github.com
Python 제어문의 문법적 특징
Python의 제어문을 사용할 때는 반드시 콜론:과 들여 쓰기indent를 이용하여 코드 블록의 범위를 정의해야 합니다. 콜론:은 여기서부터 블록 시작이라는 의미이며, 다음 줄부터는 들여 쓰기공백4칸권장를 사용하여 같은 블록임을 나타냅니다. 이는 C나 Java 등의 언어에서 중괄호{ }로 코드 블록을 구분하는 방식과는 다른 점입니다.
조건문if
조건문은 특정 조건을 만족할 때만 코드를 실행하는 구조입니다. Python에서 조건문의 기본적인 구조는 같지만, 조건을 평가하는 방식에 따라 다음과 같은 두 가지 형태로 활용할 수 있습니다.
- 독립적 if문 : 각 조건을 개별적으로 평가할 때
- if-elif-else 문 : 여러 조건 중 단 하나의 조건만 실행하고 싶을 때
예제를 통해 살펴보겠습니다. 산불 발생 위험 상황에서 각 조건이 독립적으로 평가되어 결과를 출력할 수 있습니다.
high_temperature = True # 기온이 높은지 여부
human_activity = True # 사람이 활동 중인지 여부
rainy = False # 비가 오는지 여부
if high_temperature:
print("기온이 매우 높습니다. 산불 발생 위험이 높습니다.")
if human_activity:
print("등산객의 활동이 있습니다. 화기 사용에 주의가 필요합니다.")
if rainy:
print("비가 내리고 있습니다. 산불 발생 위험이 낮습니다.")
아래 예제에서는 population이라는 변수의 값에 따라 반달가슴곰의 보호 상태를 자동으로 평가합니다. 조건들이 상호 배타적이며, 조건이 순차적으로 평가될 때 사용합니다. 여러 조건중 첫 번째로 참True인 조건 하나만 실행됩니다. 여기서 elif와 else는 독립적으로 존재할 수 없으며, 반드시 if문과 함께 사용해야 합니다. 개체수 값을 바꿔보면 다양한 조건에 따른 출력 결과를 확인할 수 있습니다.
# 조건문 if / elif / else
population = 45 # 개체수
# 조건문을 통해 보호 상태 평가
if population < 30:
print(f"반달곰 개체수가 {population} 마리로, 긴급 보호 조치가 필요합니다.")
elif population < 100:
print(f"반달곰 개체수가 {population} 마리로, 모니터링 및 보호 정책이 요구됩니다.")
else:
print(f"반달곰 개체수가 {population} 마리로 양호한 상태입니다.")

비교 | 독립적 if 사용 | if - elif - else 사용 |
조건 평가 방식 | 각 조건이 독립적 평가모두평가 | 순차적 평가첫참조건만평가 |
조건 결과 출력 | 여러 조건이 동시에 참이면 모두 출력 | 여러 조건 중 하나만 출력 |
사용 상황 | 독립된 여러 조건을 동시에 평가할 때 | 조건들이 상호 배타적일 때 |
반복문while,for
반복문은 특정 작업을 여러 번 반복적으로 실행할 때 사용됩니다. Python에서 주로 사용하는 반복문은 while과 for 두 가지입니다.
while 반복문
while 반복문은 특정 조건이 참True인 동안 계속해서 반복됩니다. 조건이 거짓False이 되면 반복문은 종료됩니다. 아래 코드에서 개체수가 150미만일 때 반복적으로 출력하며, 개체수가 150에 도달하면 반복이 종료됩니다.
# while문
population = 45 # 초기 개체수 설정
while population < 150:
print(f"현재 반달곰 개체수: {population}마리")
population = population + 20 # 매 반복마다 개체수 20마리씩 증가
print("반달곰 개체수가 150마리 이상에 도달했습니다.")
for 반복문
for 반복문은 정해진 횟수만큼 특정 작업을 반복하거나, 리스트, 튜플 등의 자료구조를 순회하며 사용할 때 유용합니다. Python에서는 range 함수와 함께 사용하여 반복을 쉽게 구현할 수 있습니다. 아래 코드는 5단계 동안 개체수가 증가하는 과정을 보여줍니다. 변수 i는 0부터 4까지 증가하며, 각 반복마다 개체수를 계산하여 출력합니다.
# for문
initial_population = 30
growth = 20
steps = 5
for i in range(steps):
print(f"{i+1}단계: 반달곰 개체수 {initial_population + growth*i}마리")
- range 함수는 주어진 숫자 범위의 정수를 생성하는 함수로, defalut는 0부터 시작하여 주어진 숫자 바로 전까지 정수 값을 생성합니다.
- 반복문에서 사용하는 변수예:i는 사용자가 직접 이름을 정해줍니다. 미리 할당하지 않아도 반복문이 실행될 때 자동으로 값을 순차적으로 할당받으며 업데이트됩니다.
비교 항목 | while문 | for문 |
반복 횟수 | 조건이 참일 때 반복 횟수가 정해지지 않을 경우 적합 | 반복 횟수가 미리 정해져 있을 경우 적합 |
사용 예시 | 특정 조건이 만족될 때까지 반복 | 정해진 횟수만큼 반복하거나 자료구조 순회 |
반복문의 제어break,continue
반복문을 사용할 때 추가로 흐름을 제어할 수 있는 두 가지 키워드가 있습니다.
- break : 반복문을 즉시 종료할 때 사용합니다.
- continue : 현재 반복을 중단하고 다음 반복으로 넘어갈 때 사용합니다.
아래 코드의 결과는 날씨가 계속 건조하다가 비가 오는 날에 반복문이 종료되는 형태로 나타납니다. 여기에서 in 키워드를 통해 반복 가능한 객체에서 요소를 하나씩 꺼내옵니다.
# break와 continue 활용(산불 위험 예시)
weather_conditions = ["dry", "dry", "dry", "rain", "dry"]
day = 1 # 날짜 초기화
for condition in weather_conditions:
if condition == "rain":
print(f"{day}일차: 비가 와서 산불 위험이 낮아졌습니다. 순찰을 종료합니다.")
break # 비가 오면 반복문 종료
if condition == "dry":
print(f"{day}일차: 날씨가 건조합니다. 산불 주의!")
day += 1 # 날짜 증가
continue # 건조한 날씨일 경우 다음 반복으로 계속 진행
'Development' 카테고리의 다른 글
Python 시작하기 #5 : 객체, 클래스, 인스턴스 0 | 2025.05.29 |
---|---|
Python 시작하기 #4 : 모듈, 패키지, 라이브러리 0 | 2025.05.08 |
Python 시작하기 #3 : 내장 함수와 익명 함수 0 | 2025.04.24 |
Python 시작하기 #2 : 함수와 입출력 0 | 2025.04.10 |
Python 시작하기 #0 : 변수와 자료형 0 | 2025.03.13 |