import math
y = input()
for i in range(2, y):
if y % i == 0:
print y, 'has factor', i
else:
print y, 'is prime number'以上是我写的代码,执行结果不完全正确:如果输入一个质数,结果可以正确显示;但如果输入一个合数的话,结果不仅打印出它的因子,还连着打印出它“is prime number”。请问有哪些地方需要改正的?还望高手赐教!
3 回答
已采纳

孤独的小猪
TA贡献232条经验 获得超302个赞
正确的代码可以参考下面 import math n = 0 y = int(input('please input number: ')) for i in xrange(2, y): if y % i == 0: print(y, 'has factor', i) n = n + 1 if( n < 1): print(y, 'is prime number')

侠客岛的含笑
TA贡献552条经验 获得超285个赞
import math n = 0 y = int(input()) for i in range(2, y): if y % i == 0: print(y, 'has factor', i) n = n + 1 if( n < 1): print(y, 'is prime number')
添加回答
举报
0/150
提交
取消