본문 바로가기
프로그래밍/Python

[Python]파이썬 제어문: 조건문과 반복문

by 다다면체 2025. 3. 25.
728x90
반응형

안녕하세요, 코딩의 세계에 오신 여러분을 환영합니다! 👋 오늘은 파이썬 프로그래밍의 핵심 중의 핵심, 바로 제어문에 대해 쉽고 재미있게 알아보는 시간을 가져볼 거예요. 제어문은 우리가 원하는 대로 코드를 실행하거나 특정 조건을 만족할 때까지 반복적으로 코드를 수행하도록 만들어주는 아주 중요한 도구랍니다. 마치 요리의 레시피처럼, 프로그램의 실행 흐름을 정교하게 컨트롤할 수 있게 도와주죠. 👨‍🍳👩‍🍳

오늘 우리가 함께 살펴볼 내용은 다음과 같습니다.

1. 제어문 (1): 조건문

  • if, elif, else 구문: 상황에 따라 코드를 선택적으로 실행하는 방법 🚦
  • 중첩 조건문: 조건 안에 또 다른 조건을 넣어 더욱 복잡한 상황을 처리하는 방법 🤯
  • 조건부 표현식: 한 줄로 간단하게 조건을 표현하는 마법 ✨

2. 제어문 (2): 반복문

  • for 루프 (iterable 객체 순회): 리스트, 튜플, 문자열 등 다양한 데이터를 하나씩 꺼내 처리하는 방법 🔄
  • while 루프 (조건 기반 반복): 특정 조건이 참인 동안 코드를 계속 실행하는 방법 ⏳
  • break, continue 키워드: 반복문의 흐름을 원하는 대로 제어하는 방법 🛑➡️
  • for-else 구문: for 루프가 완전히 끝났는지 중간에 멈췄는지 확인하는 방법 ✅

자, 그럼 지금부터 하나씩 자세히 파헤쳐 볼까요? 🤓

🚦 1. 제어문 (1): 조건문 - 갈림길에서 현명하게 선택하기

우리의 삶처럼, 프로그램도 때로는 여러 갈림길에 놓이게 됩니다. 이때 어떤 길을 선택할지는 주어진 조건에 따라 결정되죠. 파이썬의 조건문은 바로 이러한 상황을 코드로 표현할 수 있도록 도와줍니다.

if, elif, else 구문

가장 기본적인 조건문은 if 구문입니다. 특정 조건이 참(True)일 때만 코드를 실행하죠. elif는 "else if"의 줄임말로, 여러 개의 조건을 순차적으로 확인할 때 사용됩니다. 마지막으로 else는 앞의 모든 조건이 거짓(False)일 때 실행되는 코드를 정의합니다.

age = 25

if age >= 20:
    print("성인입니다. 🍺")
elif age >= 14:
    print("청소년입니다. 🧑‍🎓")
else:
    print("어린이입니다. 👶")

위 코드는 변수 age의 값에 따라 다른 메시지를 출력하는 예시입니다. 참 쉽죠? 😊

중첩 조건문

때로는 조건 안에 또 다른 조건을 넣어야 하는 복잡한 상황도 있습니다. 이를 중첩 조건문이라고 합니다. 마치 러시아 인형 마트료시카처럼, 조건문 안에 또 다른 조건문이 들어갈 수 있어요.

grade = "A"
score = 85

if grade == "A":
    if score >= 90:
        print("A+ 입니다! 🎉")
    else:
        print("A 입니다. 👍")
else:
    print("A 학점이 아닙니다. 🤔")

하지만 너무 깊게 중첩하면 코드가 복잡해질 수 있으니, 적절하게 사용하는 것이 중요합니다!

조건부 표현식

조건부 표현식은 if-else 구문을 한 줄로 간결하게 표현하는 방법입니다. 때로는 코드를 더 짧고 읽기 쉽게 만들어주죠. 마치 마법처럼요! ✨

age = 18
status = "성인" if age >= 19 else "미성년자"
print(status)  # 출력: 미성년자

조건이 참일 때의 값 if 조건 else 조건이 거짓일 때의 값 의 형태로 사용합니다.

🔄 2. 제어문 (2): 반복문 - 지루한 작업을 컴퓨터에게 맡기세요!

반복문은 특정 작업을 여러 번 반복해서 수행해야 할 때 아주 유용합니다. 마치 숙제를 대신해주는 착한 친구 같은 존재죠! 🤖 파이썬에서는 for 루프와 while 루프라는 두 가지 강력한 반복문을 제공합니다.

for 루프 (iterable 객체 순회)

for 루프는 리스트, 튜플, 문자열과 같이 여러 개의 요소를 담고 있는 iterable한 객체를 순회하면서 각 요소에 대해 특정 코드를 실행합니다. 마치 기차처럼, 각 칸을 하나씩 지나가면서 작업을 수행한다고 생각하면 돼요. 🚂

fruits = ["사과", "배", "딸기"]
for fruit in fruits:
    print(f"맛있는 {fruit}!")

numbers = range(5)  # 0부터 4까지의 숫자를 생성
for number in numbers:
    print(number)

range() 함수를 사용하면 특정 범위의 숫자를 쉽게 생성하여 반복 작업을 수행할 수 있습니다.

while 루프 (조건 기반 반복)

while 루프는 주어진 조건이 참(True)인 동안 계속해서 코드를 실행합니다. 마치 시계처럼, 특정 시간이 될 때까지 계속해서 작동하는 것과 비슷하죠. ⏰

count = 0
while count < 5:
    print(f"현재 숫자는: {count}")
    count += 1

while 루프를 사용할 때는 반드시 종료 조건을 설정해야 합니다. 그렇지 않으면 무한 루프에 빠져 프로그램이 멈출 수 있어요! 😱

break, continue 키워드

반복문 안에서 break 키워드를 만나면 즉시 반복문을 빠져나옵니다. 마치 비상 탈출 버튼과 같아요! Emergency! 🚨

continue 키워드를 만나면 현재 실행 중인 반복문의 나머지 부분을 건너뛰고 다음 반복으로 넘어갑니다. 마치 "이번 건너뛰고 다음!" 이라고 외치는 것과 같죠. ⏭️

for i in range(10):
    if i == 5:
        break  # i가 5가 되면 루프를 종료
    print(i)  # 출력: 0, 1, 2, 3, 4

for i in range(10):
    if i % 2 == 0:
        continue  # 짝수이면 다음 반복으로 건너뜀
    print(i)  # 출력: 1, 3, 5, 7, 9

for-else 구문

for-else 구문은 for 루프가 중간에 break 되지 않고 완전히 실행되었을 경우에 else 블록의 코드를 실행합니다. 마치 "미션 완료!"를 알리는 것과 같아요. ✅

numbers = [1, 2, 3, 4, 5]
found = False
for number in numbers:
    if number == 6:
        found = True
        break
else:
    print("6을 찾지 못했습니다. 😥")

numbers = [1, 2, 3, 4, 5]
found = False
for number in numbers:
    if number == 3:
        print("3을 찾았습니다! 😄")
        found = True
        break
else:
    print("3을 찾지 못했습니다. 😥") # break 문 때문에 실행되지 않음

🎉 마무리하며

오늘 우리는 파이썬의 강력한 제어문인 조건문과 반복문에 대해 자세히 알아보았습니다. 이제 여러분은 조건에 따라 코드를 선택적으로 실행하고, 원하는 만큼 반복 작업을 수행할 수 있게 되었어요! 마치 여러분의 코딩 능력에 날개를 달아준 것 같네요! 🦋

728x90
반응형