[Python] 반복문 (for)
파이썬에서 for
문은 시퀀스(리스트, 튜플, 문자열 등)의 각 요소를 순회(iterate)하면서 코드를 반복 실행하는 데 사용됩니다. for
문은 주로 반복 횟수가 정해져 있는 경우에 많이 사용됩니다.
기본 for 문
for
문은 시퀀스의 첫 번째 요소부터 마지막 요소까지 차례로 변수에 대입하면서 코드를 실행합니다.
# 리스트의 각 요소를 출력하는 예제
numbers = [1, 2, 3, 4, 5]
for num in numbers:
print(num)
# 출력:
# 1
# 2
# 3
# 4
# 5
이 예제에서는 리스트 numbers
의 각 요소가 num
변수에 순차적으로 대입되고, print(num)
명령이 반복적으로 실행되어 각 요소가 출력됩니다.
range 함수와 함께 사용하는 for 문
range
함수는 정수를 생성하여 시퀀스를 만들 때 유용합니다. range
함수는 주로 반복 횟수를 지정할 때 사용됩니다.
# 0부터 4까지의 숫자를 출력하는 예제
for i in range(5):
print(i)
# 출력:
# 0
# 1
# 2
# 3
# 4
이 예제에서는 range(5)
가 0부터 4까지의 정수를 생성하며, i
변수에 차례로 대입되어 각 숫자가 출력됩니다.
range 함수의 다양한 사용법
range(start, stop)
:start
부터stop-1
까지의 정수를 생성합니다.range(start, stop, step)
:start
부터stop-1
까지step
간격으로 정수를 생성합니다.
# 1부터 5까지의 숫자를 출력하는 예제
for i in range(1, 6):
print(i)
# 출력:
# 1
# 2
# 3
# 4
# 5
# 0부터 10까지 2씩 증가하는 숫자를 출력하는 예제
for i in range(0, 11, 2):
print(i)
# 출력:
# 0
# 2
# 4
# 6
# 8
# 10
시퀀스를 사용하는 for 문
리스트, 튜플, 문자열과 같은 시퀀스를 순회할 수 있습니다.
# 리스트의 각 요소를 출력하는 예제
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
# 출력:
# apple
# banana
# cherry
# 튜플의 각 요소를 출력하는 예제
colors = ("red", "green", "blue")
for color in colors:
print(color)
# 출력:
# red
# green
# blue
# 문자열의 각 문자를 출력하는 예제
text = "hello"
for char in text:
print(char)
# 출력:
# h
# e
# l
# l
# o
중첩 for 문
for
문 안에 또 다른 for
문을 사용할 수 있습니다. 이를 중첩 for
문이라고 합니다.
# 구구단 출력 예제
for i in range(2, 10):
for j in range(1, 10):
print(f"{i} * {j} = {i * j}")
print() # 단 사이에 빈 줄 추가
# 출력 (부분 예시):
# 2 * 1 = 2
# 2 * 2 = 4
# ...
# 2 * 9 = 18
#
# 3 * 1 = 3
# 3 * 2 = 6
# ...
# 3 * 9 = 27
# ...
# 9 * 9 = 81
이 예제에서는 2단부터 9단까지의 구구단을 출력합니다. 첫 번째 for
문이 단을 제어하고, 두 번째 for
문이 각 단의 곱셈을 제어합니다.
enumerate를 사용하는 for 문
enumerate
함수는 시퀀스를 순회할 때 인덱스와 요소를 동시에 가져옵니다.
# 리스트의 인덱스와 요소를 출력하는 예제
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
print(f"Index: {index}, Fruit: {fruit}")
# 출력:
# Index: 0, Fruit: apple
# Index: 1, Fruit: banana
# Index: 2, Fruit: cherry
이 예제에서는 enumerate(fruits)
가 (인덱스, 요소) 쌍을 반환하며, index
와 fruit
변수에 차례로 대입되어 출력됩니다.
zip을 사용하는 for 문
zip
함수는 여러 시퀀스를 병렬로 순회할 때 사용됩니다.
# 두 리스트를 병렬로 순회하면서 요소를 출력하는 예제
names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]
for name, age in zip(names, ages):
print(f"{name} is {age} years old.")
# 출력:
# Alice is 25 years old.
# Bob is 30 years old.
# Charlie is 35 years old.
이 예제에서는 zip(names, ages)
가 두 리스트를 병렬로 묶어 (이름, 나이) 쌍을 반환하며, name
과 age
변수에 차례로 대입되어 출력됩니다.
반복문에서 break와 continue의 사용
break
문: 반복문을 즉시 종료합니다.continue
문: 현재 반복을 건너뛰고 다음 반복을 실행합니다.
break 문 예제
# 3이 나오면 반복문을 종료하는 예제
for i in range(5):
if i == 3:
break
print(i)
# 출력:
# 0
# 1
# 2
이 예제에서는 i
가 3일 때 break
문이 실행되어 반복문이 종료됩니다.
continue 문 예제
# 짝수는 건너뛰고 홀수만 출력하는 예제
for i in range(5):
if i % 2 == 0:
continue
print(i)
# 출력:
# 1
# 3
이 예제에서는 i
가 짝수일 때 continue
문이 실행되어 해당 반복을 건너뛰고 다음 반복으로 넘어갑니다.
반복문에 else 절 추가
for
문에 else
절을 추가하면, 반복문이 정상적으로 완료된 경우에 else
블록이 실행됩니다. break
문으로 중단된 경우에는 실행되지 않습니다.
# 정상적으로 반복문이 완료되었는지 확인하는 예제
for i in range(5):
if i == 3:
break
print(i)
else:
print("반복문이 정상적으로 완료되었습니다.")
# 출력:
# 0
# 1
# 2
이 예제에서는 i
가 3일 때 break
문이 실행되어 else
블록이 실행되지 않습니다.
Leave a comment