7. 반복문
반복문은 코드를 여러 번 실행하고 싶을 때 사용됩니다. 파이썬에서는 for
문과 while
문을 사용하여 반복을 구현할 수 있습니다. 이 장에서는 반복문을 사용하는 방법과 그 활용 예제를 배워보겠습니다.
7.1 for 문
for
문은 주로 리스트, 문자열, 튜플 등과 같은 시퀀스의 각 항목에 순서대로 접근 할 때 사용됩니다.
# 리스트의 모든 항목을 출력하는 예제
fruits = ["사과", "바나나", "체리"]
for fruit in fruits:
print(fruit)
위 코드에서는 리스트 fruits
의 각 항목에 대해 fruit
변수에 값을 할당하고, 그 값을 출력합니다.
7.1.1 range() 함수 사용하기
for
문에서 반복 횟수를 지정하고 싶을 때는 range()
함수를 사용할 수 있습니다. 예를 들어, 같은 문구를 5번 반복하고 싶으면 이렇게 표현할 수 있습니다.
# 0부터 4까지의 숫자를 출력하는 예제
for i in range(5):
print("안녕하세요")
출력 결과:
안녕하세요
안녕하세요
안녕하세요
안녕하세요
안녕하세요
range()
함수는 연속된 정수 시퀀스를 생성하는 함수로, 다양한 방식으로 사용할 수 있습니다.
- 기본 사용법:
range(n)
은 0부터n-1
까지의 숫자를 생성합니다. 예를 들어,range(5)
는[0, 1, 2, 3, 4]
라는 시퀀스를 생성합니다. - 시작점과 끝 지정:
range(start, stop)
을 사용하면start
부터stop-1
까지의 숫자를 생성합니다. 예를 들어,range(2, 6)
은[2, 3, 4, 5]
를 생성합니다. - 증가폭 지정:
range(start, stop, step)
을 사용하여 증가폭을 지정할 수 있습니다. 예를 들어,range(1, 10, 2)
는[1, 3, 5, 7, 9]
를 생성합니다. - 감소폭 지정:
range(start, stop, step)
을 사용하여 감소폭을 지정할 수도 있습니다. 예를 들어,range(10, 0, -2)
는[10, 8, 6, 4, 2]
를 생성합니다.
# 1부터 9까지 2씩 증가하는 숫자를 출력하는 예제
for i in range(1, 10, 2):
print(i)
출력 결과:
1
3
5
7
9
7.2 while 문
while
문은 조건이 참일 때 반복을 계속 실행합니다. 조건이 거짓이 되면 반복이 종료됩니다.
# 0부터 4까지의 숫자를 출력하는 예제
count = 0
while count < 5:
print(count)
count += 1
위 코드에서는 count
가 5보다 작을 동안 반복하며, 각 반복마다 count
를 1씩 증가시킵니다.
7.2.1 무한 루프
while
문에서 조건이 항상 참이면 무한 루프가 발생합니다. 무한 루프는 의도적으로 사용할 때도 있지만, 종료 조건을 잘못 설정하면 프로그램이 끝나지 않을 수 있으니 주의해야 합니다.
# 무한 루프 예제 (Ctrl+C로 종료 가능)
while True:
print("이 메시지는 계속 출력됩니다.")
7.3 break와 continue
반복문을 제어하기 위해 break
와 continue
키워드를 사용할 수 있습니다.
break
: 반복문을 즉시 종료합니다.continue
: 현재 반복을 건너뛰고 다음 반복을 실행합니다.
# 숫자 3을 찾으면 반복을 종료하는 예제
for i in range(5):
if i == 3:
break
print(i)
출력 결과:
0
1
2
# 숫자 3은 건너뛰고 출력하는 예제
for i in range(5):
if i == 3:
continue
print(i)
출력 결과:
0
1
2
4
7.3.1 else 문과 함께 사용하기
반복문에서 else
문을 사용할 수 있습니다. else
문은 반복문이 정상적으로 종료되었을 때 실행됩니다.
for i in range(5):
print(i)
else:
print("반복이 정상적으로 종료되었습니다.")
출력 결과:
0
1
2
3
4
반복이 정상적으로 종료되었습니다.
7.4 중첩 반복문
반복문은 다른 반복문 안에 중첩될 수 있습니다. 이를 통해 2차원 리스트와 같은 복잡한 구조를 처리할 수 있습니다.
# 구구단 출력 예제
for i in range(2, 10):
for j in range(1, 10):
print(f"{i} x {j} = {i * j}")
print("-")
위 코드에서는 구구단을 출력합니다. i
는 2부터 9까지, j
는 1부터 9까지 반복하여 각 곱셈 결과를 출력합니다.
7.5 예제: 리스트에서 짝수만 출력하기
리스트에서 짝수만 찾아 출력하는 프로그램을 작성해 보겠습니다.
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for number in numbers:
if number % 2 == 0: # number을 2 로 나눴을때 나머지가 0 인 경우 참
print(number)
위 코드에서는 리스트 numbers
의 각 항목을 순서대로 접근하여 짝수인 경우에만 출력합니다.
7.6 요약
for
문은 시퀀스의 항목을 순회하거나 특정 횟수만큼 반복할 때 사용합니다.while
문은 조건이 참일 동안 반복을 실행합니다.break
는 반복문을 즉시 종료하고,continue
는 현재 반복을 건너뜁니다.range()
함수는 반복 횟수를 지정하거나 특정 범위의 숫자를 생성하는 데 사용됩니다.- 반복문은 중첩하여 사용할 수 있습니다.
이제 반복문을 사용하여 코드를 반복 실행할 수 있게 되었습니다. 다음 장에서는 함수에 대해 배워보겠습니다.