虽然循环不结束

虽然循环不结束

问题描述:

嗨,有人可以告诉我为什么这不起作用吗?它永远运行,并没有结束。当一个值达到10时,它应该退出循环。虽然循环不结束

a=0 
while a!=10: 
    for counter in range(11): 
     a+=counter 
     print a 

a变得10而这是仍在for循环内(并且在while循环进行第二次运行时变得大于10)。

移动你print下一个水平,你就会明白我的意思:

a=0 
while a!=10: 
    for counter in range(11): 
     a+=counter 
    print a 
    raw_input('press enter to keep looping') 
+0

好的谢谢。我不知道只有在for循环结束后才会检查一个值。我认为它会检查for循环中的每一次出现。 Python新手:$ – PhoneMicrowave 2012-01-15 06:32:35

因为柜台正在增加,所以A因此上涨更多! 因此,而不是等于1,2,3,4,5,6等,它等于0,1,3,6,10等! 只是去一个+ = 1 或更改为“而< 10”

+0

打印数字0到10,去: 而一个 Magicaxis 2012-01-15 06:18:56

后第一个for循环变得55,它是不等于10和它保持增加

也许你的意思是:

a=0 
for counter in range(11): 
    a+=counter 
    print a 
    if a > 10: 
     break 

你可以给看看,如果你想http://docs.python.org/tutorial/controlflow.html#break-and-continue-statements-and-else-clauses-on-loops