파이썬 - 제어 흐름

안녕하세요, 미래의 파이썬 전문가 여러분! 오늘은 파이썬의 흥미로운 제어 흐름 세계에 몸을 던지는日子입니다. 제어 흐름을 프로그래밍의 신호등으로 생각해보세요 - 그것은 여러분의 코드의 흐름을 제어하며, 언제 간다고, 멈춰야 한다고, 또는 어딘가로 돌리는지를 말합니다. 시작해보겠습니다!

Python - Control Flow

의사결정 문

얼음クリーム 가게에 있는 것을 상상해보세요. 초콜릿인가 바닐라인가 결정해야 합니다. 이것은 정확히 파이썬에서 의사결정 문이 하는 일입니다 - 프로그램이 선택을 할 수 있게 합니다.

'if' 문

'if' 문은 가장 간단한 의사결정 형식입니다. 이렇게 작동합니다:

ice_cream_flavor = "chocolate"

if ice_cream_flavor == "chocolate":
print("맛있어! 초콜릿이 제 최애야!")

이 예제에서, ice_cream_flavor이 "chocolate"이라면, 메시지를 인쇄합니다. 그렇지 않으면 아무 일도 일어나지 않습니다.

'if-else' 문

하지만 조건이 틀리다면 무엇을 하고 싶은가요? 그럴 때 'else'가 필요합니다:

age = 15

if age >= 18:
print("투표할 수 있어!")
else:
print("죄송하지만, 투표할 수 있는 나이가 아니야.")

여기서, 만약 나이가 18이상이라면 "투표할 수 있어!"를 인쇄합니다. 그렇지 않으면 다른 메시지를 인쇄합니다.

'if-elif-else' 문

때로는 여러 조건을 확인해야 합니다. 이때 'elif'('else if'의 약자)가 매우 유용합니다:

score = 85

if score >= 90:
print("A")
elif score >= 80:
print("B")
elif score >= 70:
print("C")
else:
print("향상이 필요해")

이 코드는 점수를 확인하고 해당 점수에 해당하는 학점을 인쇄합니다.

루프 또는 반복 문

루프는 여러분의 코드에 마리고로우처럼 작동합니다. 같은 코드를 반복적으로 작성하지 않고 액션을 반복할 수 있게 합니다.

'for' 루프

'for' 루프는 반복할 횟수를 알 때 매우 유용합니다:

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

for fruit in fruits:
print(f"나는 {fruit}를 좋아해!")

이 루프는 리스트의 각 과일에 대해 "나는 [fruit]를 좋아해!"를 인쇄합니다.

'while' 루프

'while' 루프는 조건이 참인 동안 계속 진행합니다:

count = 0

while count < 5:
print(f"카운트는 {count}야")
count += 1

이 코드는 0에서 4까지의 카운트를 인쇄합니다.

점프 문

점프 문은 비디오 게임에서 비밀 통로처럼 작동합니다 - 코드의 일부를 건너뛰거나 루프를 조기에 종료할 수 있습니다.

'break' 문

'break'는 루프를 즉시 종료할 수 있게 합니다:

for i in range(10):
if i == 5:
print("5를 찾았어! 루프를 나가자.")
break
print(i)

이 코드는 0에서 4까지의 숫자를 인쇄한 후, 5를 찾으면 루프를 나갑니다.

'continue' 문

'continue'는 현재 반복의 나머지 부분을 건너뛰고 다음 반복으로 이동합니다:

for i in range(5):
if i == 2:
print("2를 건너뜀")
continue
print(i)

이 코드는 0에서 4까지의 모든 숫자를 인쇄하되, 2를 건너뜁니다.

'pass' 문

'pass'는 자리 표시자와 같습니다. 아무것도 하지 않지만, 빈 코드 블록이 필요할 때 유용합니다:

for i in range(5):
if i == 2:
pass  # TODO: 2에 특별한 처리를 추가하자
else:
print(i)

이 코드는 2를 제외하고 모든 숫자를 인쇄하며, 2에서는 아무것도 하지 않습니다(현재는).

모두 합치기

이제, 이 개념들을 재미있는 작은 게임으로 결합해보겠습니다:

import random

secret_number = random.randint(1, 10)
attempts = 0

while True:
guess = int(input("숫자를 추측해보자 (1-10): "))
attempts += 1

if guess < secret_number:
print("너무 낮아!")
elif guess > secret_number:
print("너무 높아!")
else:
print(f"{attempts}번에 맞췄어!")
break

if attempts == 3:
print(f"죄송하지만, 시도 횟수를 다 써버렸어. 숫자는 {secret_number}야.")
break

이 게임은 while 루프, if-elif-else 문, 그리고 break 문을 사용하여 숫자 추측 게임을 만듭니다. 제어 흐름이 어떻게 상호작용하는 프로그램을 만들 수 있는지의 훌륭한 예시입니다!

요약

여기에 우리가 다룬 제어 흐름 문에 대한 빠른 참조 표가 있습니다:

목적
if 조건에 기반한 결정을 내리기
if-else 두 옵션 중 하나 선택하기
if-elif-else 여러 옵션 중 선택하기
for 코드를 특정 횟수만큼 반복하기
while 조건이 참인 동안 코드 반복하기
break 루프를 조기에 종료하기
continue 루프의 다음 반복으로 이동하기
pass 아무것도 하지 않기 (자리 표시자)

기억해두자, 제어 흐름을 마스터하는 것은 간단한 지시를 통해 복잡하고 아름다운 프로그램을 만들 수 있는 오케스트라를 연주하는 것과 같습니다. 계속 연습하면, 곧 파이썬 심포니를 쓰게 될 거야!

Credits: Image by storyset