제7장: 제어 구조: 반복문
반복문의 세계: 파이썬에서 루프를 사용하기
프로그래밍을 하다 보면 똑같은 명령을 여러 번 실행해야 할 일이 자주 발생합니다. 이런 상황에서 반복문은 큰 역할을 합니다. 파이썬에서는 두 가지 대표적인 반복 구조, 즉 for
문과 while
문이 널리 쓰입니다. 각각의 반복문은 상황에 따라 더욱 효율적으로 활용할 수 있기 때문에, 그 차이와 특징을 제대로 이해하는 것이 중요합니다.
for문: 반복 가능한 데이터를 순회하다
for
문은 리스트, 튜플, 문자열처럼 여러 값을 가진 자료형에서 각 요소에 차례차례 접근하고 싶을 때 사용합니다. 예를 들어, 과일 이름이 담긴 리스트가 있을 때 각 요소를 순서대로 처리할 수 있습니다.
fruits = ['사과', '바나나', '포도']
for fruit in fruits:
print(fruit, '맛있다!')
위 코드에서는 리스트 fruits
의 요소를 하나씩 꺼내와서 '맛있다!'라는 문장과 함께 출력합니다. 반복 대상이 리스트뿐 아니라 문자열, 튜플, 심지어 딕셔너리 등 반복 가능한 모든 객체가 될 수 있습니다.
숫자 범위를 반복하려면 내장 함수 range()
를 활용하면 됩니다. range(1, 6)
이라 쓰면 1에서 5까지의 숫자가 생성되어 반복에 사용됩니다.
for i in range(1, 6):
print(i, '번째 반복입니다')
while문: 조건이 참일 때까지 계속
while
문의 핵심은 조건입니다. 지정한 조건식이 참(True)인 동안 블록 안의 명령이 반복 실행됩니다. 반복하다가 조건이 더 이상 성립하지 않으면 반복이 끝나고 다음 코드로 넘어갑니다.
count = 3
while count > 0:
print(count, '초 남았습니다!')
count -= 1
위 예제에서는 변수가 0이 될 때까지 계속 메시지가 출력됩니다. 반복이 계속되다가 조건이 거짓(False)이 되는 순간 루프가 종료됩니다.
break와 continue: 반복 제어의 키워드
루프 내에서 때로는 반복을 강제로 멈추거나, 특정 조건에서만 건너뛰고 싶을 때가 있습니다. break
는 현재 반복문을 즉시 종료시키고 루프 밖으로 나가게 만듭니다. 반면, continue
는 이번 반복만 건너뛰고 다음 순번으로 곧장 넘어갑니다.
for num in range(1, 10):
if num == 5:
break # 5가 되면 반복 중단
print(num)
for num in range(1, 10):
if num % 2 == 0:
continue # 짝수(2, 4, 6, ...)는 건너뜀
print(num)
else와 반복문: 특별한 마무리
파이썬의 반복문은 else
구문과도 함께 쓸 수 있습니다. 반복이 정상적으로 모두 끝났을 때만 else
블록이 실행됩니다. 도중에 break
로 중단되면 실행되지 않습니다.
for i in range(3):
print(i)
else:
print('반복문이 끝났습니다.')
반복문을 활용하는 팁
반복문은 불필요한 코드의 중복을 줄이고, 여러 데이터를 효율적으로 처리할 수 있습니다.
무한 루프에 빠지지 않으려면
while
문에서는 반복이 끝나는 조건을 반드시 신경 써야 합니다.각각의 반복문은 문제의 성격에 맞춰 선택하며, 필요하다면
break
와continue
를 적절히 활용해 논리를 명확하게 구성하세요.
정리하자면, 반복문은 프로그래밍의 핵심 도구 중 하나입니다. 실제로 프로그램이 반복해서 처리해야 할 다양한 상황을 만났을 때, for
문과 while
문을 적절히 조합해 원하는 대로 컴퓨터를 제어할 수 있게 됩니다.


