Python은 간결하고 읽기 쉬운 문법을 통해 프로그래머가 효율적으로 코드를 작성할 수 있도록 도와줍니다. 이 글에서는 조건문과 반복문을 사용한 Python 제어 구조에 대해 알아보겠습니다. 제어 구조는 프로그램의 흐름을 제어하고, 특정 조건에 따라 다른 동작을 수행하거나 반복적으로 작업을 처리하는 데 사용됩니다.
1. 조건문
조건문은 특정 조건을 평가하고, 그 조건이 참(True)일 경우 특정 코드를 실행합니다. Python에서는 if
, elif
, else
키워드를 사용하여 조건문을 작성할 수 있습니다.
1.1. if 문
if
문은 조건이 참일 때 코드를 실행합니다.
age = 18
if age >= 18:
print("성인입니다.")
이 코드는 age
가 18 이상일 때 “성인입니다.”를 출력합니다.
1.2. if-else 문
if
문과 함께 else
문을 사용하면, 조건이 거짓(False)일 때 실행할 코드를 지정할 수 있습니다.
age = 16
if age >= 18:
print("성인입니다.")
else:
print("미성년자입니다.")
이 코드는 age
가 18 미만일 때 “미성년자입니다.”를 출력합니다.
1.3. if-elif-else 문
여러 조건을 검사하고자 할 때는 elif
키워드를 사용합니다.
score = 85
if score >= 90:
print("A학점")
elif score >= 80:
print("B학점")
elif score >= 70:
print("C학점")
else:
print("F학점")
이 코드는 score
에 따라 다양한 학점을 출력합니다.
2. 반복문
반복문은 특정 코드를 여러 번 실행할 때 사용됩니다. Python에서는 for
문과 while
문을 사용하여 반복 작업을 수행할 수 있습니다.
2.1. for 문
for
문은 시퀀스(리스트, 튜플, 문자열 등)의 각 요소를 반복할 때 사용됩니다.
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
이 코드는 리스트 fruits
의 각 요소를 출력합니다.
2.2. range() 함수와 함께 사용하는 for 문
range()
함수는 숫자 시퀀스를 생성하는 데 사용되며, for
문과 함께 자주 사용됩니다.
for i in range(5):
print(i)
이 코드는 0부터 4까지의 숫자를 출력합니다.
2.3. while 문
while
문은 조건이 참인 동안 코드를 반복 실행합니다.
count = 0
while count < 5:
print(count)
count += 1
이 코드는 count
가 5보다 작을 때까지 숫자를 출력하고, count
를 1씩 증가시킵니다.
2.4. break 문과 continue 문
반복문에서 break
문은 반복을 종료하고, continue
문은 현재 반복을 건너뛰고 다음 반복을 수행합니다.
for i in range(10):
if i == 5:
break
print(i)
이 코드는 i
가 5일 때 반복을 종료합니다.
for i in range(10):
if i % 2 == 0:
continue
print(i)
이 코드는 짝수를 건너뛰고 홀수만 출력합니다.
3. 중첩 조건문과 반복문
조건문과 반복문은 중첩해서 사용할 수 있습니다. 이를 통해 더욱 복잡한 제어 구조를 만들 수 있습니다.
numbers = [1, 2, 3, 4, 5]
target = 3
for number in numbers:
if number == target:
print(f"찾았다: {number}")
break
else:
print(f"{number}는(은) 목표가 아닙니다.")
이 코드는 리스트에서 target
값을 찾아 출력하고, 찾으면 반복을 종료합니다.
rows = 5
for i in range(1, rows + 1):
for j in range(i):
print("*", end="")
print()
이 코드는 피라미드 형태로 별표를 출력합니다.
4. 실용적인 예제
조건문과 반복문을 사용하여 더 복잡한 프로그램을 작성할 수 있습니다. 예를 들어, 간단한 로그인 시스템을 만들어 보겠습니다.
correct_username = "user"
correct_password = "pass"
for _ in range(3):
username = input("사용자 이름: ")
password = input("비밀번호: ")
if username == correct_username and password == correct_password:
print("로그인 성공!")
break
else:
print("사용자 이름 또는 비밀번호가 잘못되었습니다.")
else:
print("3회 이상 실패했습니다. 계정이 잠겼습니다.")
이 코드는 사용자가 세 번의 로그인 시도 동안 올바른 사용자 이름과 비밀번호를 입력하도록 합니다. 성공하면 “로그인 성공!”을 출력하고, 실패하면 계정을 잠급니다.
결론
조건문과 반복문은 Python에서 중요한 제어 구조로, 프로그램의 흐름을 제어하고 반복적인 작업을 처리하는 데 필수적입니다. 이번 글에서는 if
, elif
, else
조건문과 for
, while
반복문을 사용하여 다양한 예제를 살펴보았습니다. 이러한 기본적인 제어 구조를 잘 이해하고 활용하면 더 복잡한 프로그램을 작성하는 데 큰 도움이 됩니다. Python의 다양한 기능을 탐구하고, 여러 가지 프로젝트에 도전해보세요. Python의 유연성과 강력한 기능을 통해 많은 것을 배울 수 있을 것입니다.