Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何得到任意数的除数_Python_Python 3.x - Fatal编程技术网

Python 如何得到任意数的除数

Python 如何得到任意数的除数,python,python-3.x,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

我试图打印出输入数字的除数,但没有得到理想的结果。我认为我写的代码是正确的,但是结果并不是我所期望的。如果有错误,请帮我指出

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()

您不应使用
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)

把所有的东西都从其他的东西中移除,不需要中断,也不需要递归地调用自己。你应该总是在可能的地方为你的问题提供一个输入和输出的例子。谢谢你们这么多人!删除中断解决了这个问题,我会记得下次把输出!