我是python编程的新手,我一直坚持使用这个程序,并想知道这将如何执行,
for i in range (2,30):
j=2
counter=0
print(i,j)
while j<i:
if i%j==0:
counter=1
j=j+1
else:
j=j+1
if counter == 0:
print(str(i)+" is a prime number")
else:
counter = 0
我确信当代码到达while j<i
时,j和i的值都是2,条件应该是假的,因为coz 2不小于2.
那么这段代码如何完美地执行并打印预期的输出呢?
对不起,如果我是一个菜鸟:P
答案 0 :(得分:0)
您的代码有效,但缩进已被破坏。
我已经轻微简化了您的代码,以表明它没有问题。
for i in range (2,30):
j=2
prime=1
while j<i:
if i%j==0:
prime=0
j = i
j=j+1
if prime == 1:
print(str(i)+" is a prime number")
这不是一个理想的解决方案,您可以添加许多优化,但它可以完成这项工作。