我有一个程序,我正在努力使它要么显示一个数字的所有因素,或说它是素数。这是一个简单的程序,但我有一个主要问题。一旦它打印出一个输入数字的所有因子,它总是不返回任何值。我试过多种方法来摆脱它,但没有什么工作不把其他事情搞砸了。代码如下
def mys(x):
x = input("Enter a number: ")
for i in range(2,x):
r = x % i
if r == 0:
print(i)
print(mys(x))
这个代码只是用来打印因子的,但这就是问题所在。我在输入一个数字后得到的结果,在本例中是20,如下所示:
2
4
5
10
None
不管我做什么,我都不能不打印
因此,如果不想打印
mys
(None)的返回值,则不要打印它:在python中,没有return语句的函数总是返回None
我猜你想做的是调用mys函数,而不是打印它。 请注意,您应该删除x参数,因为它是在函数内部请求的
最好不要在函数中包含用户输入和打印。它将使测试和重用更容易:
相关问题 更多 >
编程相关推荐