def prime(x):
if (x == 0 or x % 2 == 0):
return 0
elif (x == 1):
return 1
else:
for y in range(x-1,0,-1):
if (x % y == 0):
return 0
else:
pass
if (y == 1):
return 1
for x in range(1,20):
if (prime(x)):
print ("x:%d, prime YES") % (x)
else:
print ("x:%d, prime NO") % (x)
我开始试验Python,但我不明白我的代码有什么问题...我得到了:
...打印(“ x:%d,素数为”)%(x)
TypeError:%不支持的操作数类型:'NoneType'和'int'
等等-我找到了。您正在使用Python 3!其中print
有一个功能。因此,
print ("x:%d, prime YES") % (x)
实际上意味着
(print ("x:%d, prime YES")) % (x)
而且由于print
return None
,这给了你错误。
另外,请注意-(x)
不是包含1个元素的元组,它只是value x
。使用(x,)
的元组。
因此,只需移动括号并添加逗号即可:
print("x:%d, prime YES" % (x,))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句