【发布时间】:2015-11-09 07:25:15
【问题描述】:
以下是生成素数的代码:
to_num=int(raw_input("Enter till where u wish to generate prime nos > "))
i=2
flag="prime"
j=2
while i <= to_num:
while j<i:
if i%j == 0:
flag="nprime"
break
else:
flag="prime"
if flag=="prime":
print "%d is prime"%i
j+=1
i+=1
但是产生的结果与预期不符,例如:
Enter till where u wish to generate prime nos > 10
2 is prime
3 is prime
4 is prime
5 is prime
6 is prime
7 is prime
8 is prime
9 is prime
10 is prime
能否请您指导我哪里出错了?
P.S:使用for循环得到想要的结果。
【问题讨论】:
-
您的代码似乎运行良好:ideone.com/u1Ij7Q
-
此代码产生正确的结果,而不是您发布的结果。
-
哦!!!我的错...发布了错误的代码...我将编辑帖子,,,
-
@abhisheknair 如果您已经有了解决方案,为什么还要更改代码?
-
你需要在外循环开始时重置
j = 2。