Python 为什么嵌套while循环不工作
用python编写一个程序,打印出前1000个素数(2除外)。我能得到的输出是数字3。不知道我的循环何时何地结束。编程方面非常新。有人能帮忙吗Python 为什么嵌套while循环不工作,python,nested,while-loop,Python,Nested,While Loop,用python编写一个程序,打印出前1000个素数(2除外)。我能得到的输出是数字3。不知道我的循环何时何地结束。编程方面非常新。有人能帮忙吗 primeCounter = 1 candidate = 3 while primeCounter < 1000: isPrime = True counter = 2 while counter < candidate: if candidate%counter == 0:
primeCounter = 1
candidate = 3
while primeCounter < 1000:
isPrime = True
counter = 2
while counter < candidate:
if candidate%counter == 0:
isPrime = False
else:
counter = counter + 1
if isPrime == True:
print candidate
primeCounter = primeCounter + 1
candidate = candidate + 1
primeCounter=1
候选人=3
当primeCounter<1000时:
isPrime=True
计数器=2
而反对者:
如果候选%counter==0:
isPrime=False
其他:
计数器=计数器+1
如果isPrime==True:
印刷候选人
primeCounter=primeCounter+1
候选人=候选人+1
primeCounter=1
候选人=3
当primeCounter<1000时:
isPrime=True
计数器=2
而反对者:
如果候选%counter==0:
isPrime=False
中断#primeCounter=1
候选人=3
当primeCounter<1000时:
isPrime=True
计数器=2
而反对者:
如果候选%counter==0:
isPrime=False
打破#一旦你将isPrime
设置为False
,你就再也不会增加计数器了,所以你就再也不会在循环时离开内部。一旦你将isPrime
设置为False
,你就再也不会增加计数器了,所以你永远都无法摆脱内部的,而循环。你的问题在块中
while counter < candidate:
if candidate%counter == 0:
isPrime = False
而计数器<候选者:
如果候选%counter==0:
isPrime=False
如果不是候选%计数器,则得到无限循环。块中的问题
while counter < candidate:
if candidate%counter == 0:
isPrime = False
而计数器<候选者:
如果候选%counter==0:
isPrime=False
如果不是候选%计数器,则得到无限循环。您是否尝试过调试它?也许是让它输出测试条件等的变量值?你试过调试它吗?也许通过让它输出测试条件等的变量值?