파이썬에서 range() 함수는 지정된 범위 내의 숫자를 생성하는데, 주로 for 반복문과 함께 사용되어 일정 범위 내의 숫자를 순회할 때 유용하다. range() 함수는 세 가지 형태로 사용할 수 있다.
1. range 함수의 기본 형태
range(stop): 0부터 stop까지의 숫자를 생성한다 (stop은 포함되지 않음).
for i in range(5):
print(i)
# 출력:
# 0
# 1
# 2
# 3
# 4
2. 시작값과 끝값을 지정하는 형태
range(start, stop): start부터 stop까지의 숫자를 생성한다 (start는 포함, stop은 포함되지 않음).
for i in range(1, 6):
print(i)
# 출력:
# 1
# 2
# 3
# 4
# 5
3. 시작값, 끝값, 증가값을 지정하는 형태
range(start, stop, step): start부터 stop까지 step 간격으로 숫자를 생성한다 (start는 포함, stop은 포함되지 않음).
for i in range(1, 10, 2):
print(i)
# 출력:
# 1
# 3
# 5
# 7
# 9
4. range의 기타 사용 예제
예제 1: 역순으로 숫자 생성
for i in range(10, 0, -2):
print(f"Reverse step value: {i}")
# 출력:
# Reverse step value: 10
# Reverse step value: 8
# Reverse step value: 6
# Reverse step value: 4
# Reverse step value: 2
예제 2: 리스트의 인덱스 순회
range는 리스트와 같은 시퀀스 자료형의 인덱스를 순회할 때 유용하다.
fruits = ["apple", "banana", "cherry", "date"]
for i in range(len(fruits)):
print(f"Index {i}: {fruits[i]}")
# 출력:
# Index 0: apple
# Index 1: banana
# Index 2: cherry
# Index 3: date
예제 3: range와 else 사용
for 반복문에서 else 블록을 사용할 수 있으며, 이는 반복문이 정상적으로 종료되었을 때 실행된다.
for i in range(5):
print(i)
else:
print("반복문이 정상적으로 종료되었습니다.")
# 출력:
# 0
# 1
# 2
# 3
# 4
# 반복문이 정상적으로 종료되었습니다.
예제 4: 중첩된 range 사용
range를 사용한 반복문은 중첩하여 사용할 수 있으며, 이를 통해 이중 반복문을 구현할 수 있다.
for i in range(1, 10):
for j in range(1, 10):
print(f"{i} x {j} = {i * j}")
print("-" * 10)
# 출력:
# 1 x 1 = 1
# 1 x 2 = 2
# 1 x 3 = 3
# ...
# 9 x 8 = 72
# 9 x 9 = 81
# ----------