如何获得任意数量的除数

时间:2019-04-30 03:11:52

标签: python python-3.x

我正在尝试打印输入数字的除数,而没有得到理想的结果。我认为我编写的代码是正确的,但结果确实不是我所期望的。请帮助我指出我的错误(如果有的话)

def divisors():
    a = int(input("Enter a number: "))
    x = list(range(2, a+1))

    for item in x:
        if a % item == 0:
            print(item)
        else:
            break
    divisors()

1 个答案:

答案 0 :(得分:1)

您不应该使用break,这会使您的循环在第一次遇到非因数时停止:

def divisors():
    a = int(input("Enter a number: "))
    x = list(range(2, a+1))

    for item in x:
        if a % item == 0:
            print(item)