프로그래밍에서는 반복적으로 수행해야 하는 작업이 자주 발생합니다. 파이썬에서는 이러한 반복 작업을 처리하기 위해 두 가지 주요 반복문, 즉 while문과 for문이 제공됩니다. 이번 포스팅에서는 각각의 반복문에 대해 알아보고, 두 문법의 차이에 대해 상세히 설명하겠습니다.

1. while 반복문
while문은 특정 조건이 참일 때 반복해서 실행되는 구조입니다. 일반적으로 반복 횟수가 확정되지 않은 경우 사용됩니다. 기본적인 while문의 형식은 다음과 같습니다:
while 조건식:
반복할 문장
여기서 조건식이 참일 경우에만 아래에 있는 코드가 실행됩니다.
예를 들어, 사용자가 입력한 정수를 리스트에 저장하는 프로그램을 아래와 같이 작성할 수 있습니다:
my_list = []
n = int(input('정수를 입력하세요 (종료는 0을 입력하세요): '))
while n != 0:
my_list.append(n)
n = int(input('정수를 입력하세요 (종료는 0을 입력하세요): '))
print(my_list)
이 코드에서 사용자가 0을 입력할 때까지 반복적으로 정수를 입력받아 리스트에 추가합니다.
while 문 중첩
파이썬에서는 while문을 중첩 사용하여 복잡한 조건을 처리할 수 있습니다. 예를 들어 구구단을 출력하는 프로그램을 작성해 보겠습니다:
dan = 2
while dan <= 9:
print(f'-{dan}단-')
n = 1
while n <= 9:
print(f'{dan} x {n} = {dan * n}')
n += 1
print()
dan += 1
이 코드는 2단부터 9단까지의 구구단을 출력합니다.
while 문과 break, continue
반복문 내부에서는 제어 흐름을 조정하기 위한 break와 continue 키워드를 사용할 수 있습니다. break는 반복문을 즉시 종료시키고, continue는 현재 반복을 건너뛰고 다음 반복으로 넘어갑니다.
i = 0
while True:
print(i, end=' ')
i += 1
if i == 10:
break # 10이 되었을 때 반복문 종료
위의 예제에서 i가 10에 도달하면 반복문의 실행이 중단됩니다.
2. for 반복문
for문은 반복할 횟수가 명확히 정해져 있을 때 주로 사용됩니다. for문은 특정 범위에서 반복을 수행하며, 일반적으로 range() 함수를 함께 사용합니다. 기본 구조는 다음과 같습니다:
for 변수 in range(횟수):
반복할 문장
여기서 range(횟수)는 0부터 지정한 수까지의 정수를 생성하여 반복하는 데 사용됩니다.
다음은 for 문을 이용하여 1부터 10까지의 합을 구하는 예제입니다:
total = 0
for i in range(1, 11):
total += i
print(total)
이 코드는 1부터 10까지의 정수를 전부 더하여 결과를 출력합니다.
for 문 중첩
또한 for문도 중첩 사용이 가능합니다. 예를 들어, 구구단을 중첩 for문으로 출력하는 방법은 다음과 같습니다:
for dan in range(2, 10):
print(f' {dan} 단 ')
for n in range(1, 10):
print(f'{dan} x {n} = {dan * n}')
print()
for 문과 if 조건문
자주 사용되는 패턴 중 하나는 for 문과 if 조건문을 조합하는 것입니다. 특정 조건을 만족하는 경우에만 작업을 수행하는 방식입니다:
for i in range(1, 101):
if i % 2 == 0:
print(i) # 짝수 출력
위의 예제는 1부터 100까지의 수 중에서 짝수를 출력합니다.

3. while과 for의 차이점
두 반복문의 차이점을 정리하자면, while문은 반복 횟수가 정해지지 않고 조건에 따라 실행되는 반면, for 문은 반복 횟수가 명확할 때 주로 사용됩니다. 반복문을 선택할 때는 상황에 따라 적절한 문법을 선택하는 것이 중요합니다.
이번 포스팅에서는 파이썬의 반복문인 while과 for에 대해 알아보았습니다. 각각의 반복문은 프로그래밍에서 필수적인 부분으로, 상황에 맞는 사용법을 익혀 적절히 활용하는 것이 중요합니다. 앞으로도 반복문을 활용한 다양한 예제들을 통해 더 깊이 있는 파이썬 프로그래밍을 진행해 보시기 바랍니다.
자주 찾는 질문 Q&A
파이썬에서 반복문은 무엇인가요?
파이썬에서는 특정 작업을 여러 번 수행할 수 있는 구조를 반복문이라고 합니다. 주로 while과 for 두 가지 형태가 있습니다.
while 문과 for 문의 차이점은 무엇인가요?
while문은 특정 조건이 참일 때 계속 실행되는 반면, for문은 주어진 횟수만큼 반복됩니다. 따라서 사용 목적에 따라 선택이 필요합니다.
반복문 내부에서 break와 continue는 어떻게 사용하나요?
반복문 내에서 break는 루프를 즉시 종료시키고, continue는 현재의 반복을 건너뛰고 다음 반복으로 넘어가도록 합니다.
구구단을 출력하는 방법은 무엇인가요?
구구단은 while문이나 for문을 중첩하여 구현할 수 있습니다. 각 단마다 1부터 9까지의 곱셈을 출력하는 방식으로 작성합니다.