PYTHON语言,本人新手
发布网友
发布时间:2022-04-07 11:42
我来回答
共3个回答
热心网友
时间:2022-04-07 13:12
你的判断有问题,每个数字必须判断从2-n,不能判断一个就判定是prime,
所以要加一个参数来定,是否在从2到n除的过程中有没有除尽的情况,看下面的代码:(百度没有缩进还真是麻烦),你需要自己去掉短线
for n in range(2,10):
--flag = 0
--for x in range(2,n):
----if n%x==0:
--------print (n, 'equals', x,'*',n/x)
--------flag=0
--------break
----else:
--------flag=1
--------continue
----if flag==1: print (n, 'is a prime number')
结果:
(3, 'is a prime number')
(4, 'equals', 2, '*', 2)
(5, 'is a prime number')
(6, 'equals', 2, '*', 3)
(7, 'is a prime number')
(8, 'equals', 2, '*', 4)
(9, 'equals', 3, '*', 3)
热心网友
时间:2022-04-07 14:30
楼主,二楼的没问题啊,我的是python2.5
要不你把最后一句改成
----if flag==1:
--------print (n, 'is a prime number')
热心网友
时间:2022-04-07 16:04
你自己可以试试啊!不过要注意缩进