이 장에서는 파이썬의 제어문에 대해 깊이 있는 이해를 바탕으로 다루어 보겠습니다. 제어문은 프로그램의 흐름을 관리하고 논리적인 결정을 내리는 중요한 도구입니다. 제어문을 잘 활용함으로써 우리는 보다 복잡하고 효과적인 프로그램을 작성할 수 있습니다.
1. 제어문의 기본 개념
프로그래밍에서의 제어문은 코드의 실행 흐름을 변경하는 명령어입니다. 이 흐름을 제어하는 것은 조건에 따라 코드를 실행하거나 반복할 수 있게 하여, 프로그램이 올바르게 동작하고 보다 효율적으로 실행될 수 있도록 합니다.
파이썬에서 자주 사용하는 제어문에는 조건문(Conditional Statements)과 반복문(Loop Statements)이 있습니다. 조건문은 주어진 조건에 따라 코드 블록을 실행할지 말지를 결정하는 데 사용되고, 반복문은 특정 코드 블록을 여러 번 실행해야 할 때 사용됩니다.
2. 조건문: if, elif, else
2.1 기본 If 문
조건문은 ‘만약 어떤 조건이 참(True)이라면, 이 코드를 실행하라’라는 로직을 구현할 수 있도록 합니다. 기본적인 if 문은 다음과 같이 작성됩니다:
if 조건식:
실행할_코드
여기서 조건식이 참이라면 들여쓰기 된 코드 블록이 실행됩니다.
2.2 If-Else 문
if 문은 else 문과 결합하여 조건이 참이 아닐 경우 대체 실행할 코드를 지정할 수 있습니다.
if 조건식:
실행할_코드_참일_때
else:
실행할_코드_거짓일_때
이 구조는 조건이 거짓일 때 실행할 코드 블록을 제공함으로써 더욱 견고한 코드를 작성할 수 있도록 합니다.
2.3 If-Elif-Else 문
복수의 조건을 필요로 할 때는 elif (else if의 줄임말)를 사용할 수 있습니다. 이는 여러 조건식을 차례로 확인하여 참인 첫 번째 조건의 코드 블록만 실행합니다.
if 조건식1:
실행할_코드1
elif 조건식2:
실행할_코드2
else:
실행할_코드_기본
이 구조는 여러 조건 중 하나라도 맞을 경우 그에 해당하는 코드 블록만 실행하고, 그 외의 경우 기본 실행할 코드를 지정할 수 있습니다.
3. 반복문: for, while
3.1 While 문
while 문은 주어진 조건이 참일 동안 코드 블록을 반복해서 실행하는 데 사용됩니다. 다음은 while 문 기본 구조입니다:
while 조건식:
반복할_코드
조건식이 참이면 반복할 코드 블록이 실행되며, 조건식이 거짓이 되면 반복이 종료됩니다.
3.2 For 문
for 문은 주로 반복 횟수가 지정된 경우나 iterable 객체(예: 리스트, 튜플, 문자열 등)의 아이템을 하나씩 순회할 때 사용됩니다.
for 변수 in 순회가능한_객체:
반복할_코드
순회 가능한 객체의 각 요소에 대해 반복할 코드가 실행되며, 더 이상 요소가 없을 때 반복이 종료됩니다.
4. 중첩된 제어문
제어문은 서로 중첩되어 사용할 수 있습니다. 이는 복잡한 조건이나 반복 구조를 구현할 때 유용합니다. 예를 들어, for 문 안에 if 문을 넣거나, while 문 안에 for 문을 넣을 수 있습니다.
for i in range(5):
if i % 2 == 0:
print(f"{i}는 짝수입니다.")
else:
print(f"{i}는 홀수입니다.")
위의 예시는 0부터 4까지의 수를 순회하면서 각 수가 짝수인지 홀수인지 판별하여 출력합니다.
5. break와 continue 문
5.1 Break 문
break 문은 반복문을 즉시 종료시킵니다. 일반적으로 특정 조건이 만족되었을 때 반복을 중단하고 싶을 때 사용됩니다.
for i in range(10):
if i == 5:
break
print(i)
위의 코드는 0부터 9까지 순회하지만, 5에 도달하면 반복을 중단합니다.
5.2 Continue 문
continue 문은 현재 반복의 나머지 코드를 건너뛰고 다음 반복을 시작합니다. 다음 조건을 체크하기 전에 다음 반복을 수행할 때 유용합니다.
for i in range(5):
if i == 2:
continue
print(i)
이 예시는 0부터 4까지 순회하면서 그 중 2는 건너뛰고 나머지 수들을 출력합니다.
6. 제어문을 활용한 프로그램 예제
끝으로 배운 제어문을 활용하여 간단한 프로그램을 작성해 보겠습니다. 여기서는 사용자가 입력한 숫자에 따라 피보나치 수열을 생성하는 프로그램을 만들 것입니다.
# 피보나치 수열 생성기
def fibonacci(n):
a, b = 0, 1
while a < n:
print(a, end=' ')
a, b = b, a + b
print()
num = int(input("피보나치 수열을 생성할 범위를 입력하세요: "))
fibonacci(num)
이 프로그램은 사용자가 입력한 숫자까지의 피보나치 수열을 생성하여 출력합니다. while 문을 사용하여 수열을 계산하고, 사용자가 원하는 만큼 수열을 제한하여 생성합니다.
이번 장에서는 파이썬의 기본적인 제어문에 대해 학습했습니다. 제어문은 프로그램의 논리적 흐름을 결정짓는 중요한 구성 요소이며, 이를 잘 이해하고 활용하면 더욱 강력하고 유지보수하기 쉬운 코드를 작성할 수 있습니다. 다음 장에서는 제어문을 더욱 확장하여 다양한 응용 사례를 다룰 것입니다.