주어진 숫자 범위 안에서 특정 수로 나누어 떨어지는 모든 값을 찾아 출력해야 하는 경우가 종종 있습니다. 이럴 때 간단한 for 반복문과 나머지 연산자(%)를 활용하면 손쉽게 해결할 수 있습니다.
이번 글에서는 사용자로부터 범위의 시작값과 끝값, 그리고 나눌 기준이 되는 숫자를 입력받아 조건에 맞는 값들을 화면에 출력하는 파이썬 프로그램을 살펴보겠습니다.
예제 코드
lower_num = int(input("하한값을 입력하세요... "))
upper_num = int(input("상한값을 입력하세요... "))
div_num = int(input("나눌 기준 숫자를 입력하세요... "))
for i in range(lower_num, upper_num + 1):
if i % div_num == 0:
print(i)실행 결과
하한값을 입력하세요... 3 상한값을 입력하세요... 8 나눌 기준 숫자를 입력하세요... 2 4 6 8
코드 설명
- 사용자로부터 숫자 범위의 하한값과 상한값을 입력받습니다.
- 범위 내 숫자들을 나눌 기준이 되는 숫자 역시 사용자에게 입력받습니다.
range()함수를 통해 하한값부터 상한값까지 순회하며, 각 숫자를 기준 숫자로 나눈 나머지가 0인지 확인합니다.- 나머지가 0이라면 해당 숫자는 기준 숫자로 나누어 떨어지는 것이므로 화면에 출력합니다.
핵심 포인트
위 예제에서 range(3, 9)는 3부터 8까지의 숫자를 생성합니다. 상한값까지 포함시키기 위해 upper_num + 1을 사용하는 점에 유의하세요. 또한 i % div_num == 0 조건은 나눗셈의 나머지가 없다는 의미로, 정확히 나누어 떨어지는 경우만 걸러내는 역할을 합니다.
이 방식은 리스트 컴프리헨션을 활용해 한 줄로도 구현할 수 있습니다. 예를 들어 [i for i in range(lower_num, upper_num+1) if i % div_num == 0]와 같이 작성하면 조건을 만족하는 숫자들을 리스트 형태로 한 번에 얻을 수 있어 코드를 더욱 간결하게 만들 수 있습니다.