Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬으로 특정 숫자로 나누어 떨어지는 범위 내 모든 숫자 출력하기

주어진 숫자 범위 안에서 특정 수로 나누어 떨어지는 모든 값을 찾아 출력해야 하는 경우가 종종 있습니다. 이럴 때 간단한 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]와 같이 작성하면 조건을 만족하는 숫자들을 리스트 형태로 한 번에 얻을 수 있어 코드를 더욱 간결하게 만들 수 있습니다.