Python을 사용하다 보면 숫자 시퀀스를 다루거나 반복문을 작성할 때 range
를 자주 사용하게 됩니다.
이 함수는 메모리를 효율적으로 사용하면서 간단한 문법으로 반복 작업을 처리할 수 있게 해주는데요.
이번 글에서는 range
의 기본 사용법부터 실수 방지 팁까지 살펴보겠습니다!
1. range
함수란?
range
함수는 다음과 같은 문법으로 사용할 수 있습니다:
range(start, stop, step)
start
: (선택 사항) 시퀀스의 시작 숫자. 기본값은0
입니다.stop
: 시퀀스가 끝나는 숫자 (※ 이 숫자는 포함되지 않습니다!).step
: (선택 사항) 숫자 간의 간격. 기본값은1
입니다.
2. range
함수 사용 예제
1) 기본 형태: range(stop)
하나의 인수만 제공하면, start
는 기본값인 0
이고, stop
까지만 지정됩니다. 시퀀스는 stop-1
까지 생성됩니다.
for i in range(5):
print(i)
출력:
0
1
2
3
4
2) 시작과 끝 설정: range(start, stop)
start
와 stop
을 지정하여 원하는 범위의 시퀀스를 생성할 수 있습니다.
for i in range(2, 6):
print(i)
출력:
2
3
4
5
3) 간격 조정: range(start, stop, step)
step
매개변수를 추가하면 숫자가 증가하거나 감소하는 간격을 조정할 수 있습니다.
오름차순 예제:
for i in range(1, 10, 2): print(i)
출력:
2 3 4 5
내림차순 예제:
for i in range(10, 0, -2): print(i)
출력:
10 8 6 4 2
3. 실수 방지 팁
1) step
과 방향이 맞지 않는 경우
start < stop
일 때 step
이 음수면 반복문이 실행되지 않습니다. 반대로, start > stop
일 때 step
이 양수여도 실행되지 않습니다:
for i in range(5, 1, 1): # 출력 없음
print(i)
2) stop
포함하기
range
는 stop
값을 포함하지 않습니다. 마지막 값을 포함하려면 stop
값을 1만큼 늘려야 합니다:
for i in range(1, 6): # 5 포함
print(i)
4. 실전 활용
1) 내림차순 출력
내림차순으로 숫자를 출력하려면 음의 step
을 사용하세요:
for i in range(10, 0, -1):
print(i, end=" ")
출력:
10 9 8 7 6 5 4 3 2 1
2) 짝수 출력
step
을 2로 설정하여 짝수만 출력하는 프로그램을 작성할 수 있습니다:
for i in range(2, 21, 2):
print(i, end=" ")
출력:
2 4 6 8 10 12 14 16 18 20
3) 리스트와 함께 사용
리스트의 인덱스와 값을 동시에 처리하려면 range(len(list))
를 사용할 수 있습니다:
arr = ['a', 'b', 'c', 'd']
for i in range(len(arr)):
print(f"Index {i}: {arr[i]}")
출력:
Index 0: a
Index 1: b
Index 2: c
Index 3: d
5. 간단한 코딩 문제: 별 출력하기
정수 n
이 주어졌을 때, 별(*
)을 점점 줄여가며 출력하는 문제를 풀어봅시다. 이 문제는 range
의 내림차순과 문자열 연산을 활용한 대표적인 예제입니다.
문제 설명:
입력: 정수
n
출력: 첫 번째 줄에는 별이
n
개, 두 번째 줄에는n-1
개, ..., 마지막 줄에는 별이 1개 출력되도록 작성하세요.
코드 예제:
n = int(input("정수를 입력하세요: "))
for i in range(n, 0, -1):
print("*" * i)
입력 예:
5
출력:
*****
****
***
**
*