반복문 (Loops)
프로그래밍에서 반복문은 특정 코드 블록을 조건에 따라 여러 번 반복해서 실행하는 데 사용되는 기본적인 제어 구조입니다. 파이썬은 for
루프와 while
루프라는 두 가지 강력한 반복문을 제공합니다. 각 루프는 특정한 상황과 목적에 맞춰 유용하게 활용될 수 있습니다.
1. for 루프 (for loop)
for
루프는 리스트(list), 튜플(tuple), 문자열(string)과 같은 iterable 객체의 각 요소를 순서대로 순회하면서 특정 작업을 반복 수행할 때 사용됩니다. 여기서 iterable 객체란, 여러 개의 요소들을 담고 있는 자료형을 의미하며, for
루프는 이러한 객체의 모든 요소를 하나씩 처리하는 데 특화되어 있습니다.
기본 구조:
for item in iterable:
# item에 대해 수행할 작업 (코드 블록)
위 구조에서 for
키워드 다음에는 순회할 iterable 객체의 요소를 담을 변수 이름(item
)이 오고, in
키워드 뒤에는 실제 iterable 객체(예: 리스트, 튜플)가 위치합니다. for
문의 마지막에는 콜론(:
)을 붙여 코드 블록의 시작을 알립니다. 콜론 아래 들여쓰기 된 부분은 for
루프 내에서 반복적으로 실행될 코드 블록을 나타냅니다.
예제: 리스트의 각 요소를 출력하는 프로그램
fruits = ["사과", "바나나", "체리"]
for fruit in fruits:
print(fruit)
위 예제에서 fruits
는 문자열 요소 "사과", "바나나", "체리"를 담고 있는 리스트입니다. for
루프는 이 리스트의 각 요소를 차례대로 fruit
변수에 할당하고, print(fruit)
문장을 실행합니다. 따라서 "사과", "바나나", "체리"가 한 줄씩 출력됩니다.
활용 예시:
- 숫자 리스트의 합 계산:
for
루프를 사용하여 숫자 리스트의 모든 요소를 더하여 합을 계산할 수 있습니다. - 문자열 리스트에서 특정 길이 이상의 문자열만 추출:
for
루프와 조건문을 함께 사용하여 특정 조건에 맞는 문자열만 추출할 수 있습니다. - 딕셔너리의 모든 키 또는 값을 순회:
for
루프를 사용하여 딕셔너리의 모든 키 또는 값을 순회하며 필요한 작업을 수행할 수 있습니다.
for
루프는 리스트 외에도 튜플, 문자열, range 객체 등 다양한 iterable 객체와 함께 사용될 수 있습니다. 예를 들어, range(5)
는 0부터 4까지의 숫자를 생성하는 range 객체를 반환하며, 이를 for
루프와 함께 사용하면 0부터 4까지의 숫자를 순차적으로 처리할 수 있습니다.
2. while 루프 (while loop)
while
루프는 주어진 조건이 참(True)인 동안 코드 블록을 계속해서 반복 실행합니다. 조건이 거짓(False)이 되면 while
루프는 종료됩니다. while
루프는 특정 횟수만큼 반복하는 for
루프와 달리, 조건에 따라 반복 여부가 결정되기 때문에 조건이 동적으로 변하는 상황에서 유용하게 사용됩니다.
기본 구조:
while condition:
# condition이 참인 동안 수행할 작업 (코드 블록)
while
키워드 다음에는 조건을 나타내는 표현식(condition
)이 오고, 콜론(:
)을 붙여 코드 블록의 시작을 알립니다. 콜론 아래 들여쓰기 된 부분은 while
루프 내에서 반복적으로 실행될 코드 블록을 나타냅니다.
예제: 사용자로부터 숫자를 입력받아 합계를 계산하는 프로그램
total = 0
while True:
number = input("숫자를 입력하세요 (종료하려면 'exit' 입력): ")
if number == 'exit':
break
total += int(number)
print(f"입력된 숫자의 총합은 {total}입니다.")
위 예제에서 while True:
는 조건이 항상 참이므로 루프가 무한히 반복됨을 의미합니다. 하지만 if number == 'exit': break
문장을 통해 사용자가 "exit"를 입력하면 break
키워드가 실행되어 while
루프를 빠져나가도록 합니다. 사용자가 숫자를 입력하면 해당 숫자는 정수형으로 변환되어 total
변수에 더해집니다.
활용 예시:
- 사용자 입력 처리: 사용자가 특정 값을 입력할 때까지 계속해서 입력을 받는 경우에
while
루프를 사용할 수 있습니다. - 파일 내용 읽기: 파일의 끝까지 내용을 읽는 경우에
while
루프를 사용할 수 있습니다. - 특정 조건이 만족될 때까지 반복: 어떤 조건이 만족될 때까지 코드를 반복 실행해야 하는 경우에
while
루프가 유용합니다.
while
루프를 사용할 때는 무한 루프에 빠지지 않도록 주의해야 합니다. 조건이 항상 참이 되지 않도록 적절한 조건을 설정하고, 루프 내에서 조건을 변경하여 언젠가는 거짓이 되도록 해야 합니다.
결론
for
루프와 while
루프는 파이썬 프로그래밍에서 필수적인 요소입니다. 이 두 가지 반복문을 능숙하게 활용하면 코드를 효율적으로 작성하고 다양한 문제를 해결할 수 있습니다. 반복문의 기본 개념을 확실히 이해하고 다양한 예제를 통해 숙달하는 것이 중요합니다.
'프로그래밍 > Python' 카테고리의 다른 글
프로그래밍의 핵심, 함수: 매개변수와 반환값 완벽 분석 (0) | 2025.02.25 |
---|---|
파이썬 함수, 레고 블록처럼 조립하고 재사용하는 마법! (0) | 2025.02.24 |
파이썬 조건문 완전 정복: if, elif, else 마스터하기 (0) | 2025.02.24 |
파이썬 집합(Set): 중복 제거와 효율적인 데이터 관리를 위한 마법 상자 (0) | 2025.02.24 |
파이썬 딕셔너리 완전 정복: 키-값 쌍의 마법과 활용법 (0) | 2025.02.24 |