用Python判断一个数是素数还是合数(如果是合数,显示其因子)?

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”。

请问有哪些地方需要改正的?还望高手赐教!

郑安润
浏览 3387回答 3
3回答

孤独的小猪

正确的代码可以参考下面 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')

侠客岛的含笑

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')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python