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