Python中嵌套的WHILE循环

2024-03-28 12:01:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一个使用Python的初学者,很少尝试程序。我在Python中有如下WHILE循环构造(不确切)。

IDLE 2.6.4      
>>> a=0
>>> b=0
>>> while a < 4:
      a=a+1
      while b < 4:
         b=b+1
         print a, b


1 1
1 2
1 3
1 4

我期望外环循环通过1,2,3和4。我知道我可以这样做

>>> for a in range(1,5):
       for b in range(1,5):
           print a,b


1 1
1 2
.. ..
.. .. // Other lines omitted for brevity
4 4

但是,WHILE循环有什么问题?我想我漏掉了一些显而易见的东西,但是我看不出来。

回答: 修正的WHILE循环。。

>>> a=0
>>> b=0
>>> while a < 4:
    a=a+1
    b=0
    while b<4:
        b=b+1
        print a,b


1 1
.. ..
.. .. // Other lines omitted for brevity
4 4

p.S:搜索结果是,找到了few questions,但没有一个接近这个。不知道这是否可以归类为作业,实际程序不同,问题是什么让我困惑。


Tags: in程序forrangelinesotherprintidle
1条回答
网友
1楼 · 发布于 2024-03-28 12:01:54

您不会在外部循环的右边将b重置为0,因此b保持在外部循环的第一段(4)之后的值,并且内部循环永远不会再次执行。

for循环工作良好,因为它们确实正确地重置了它们的循环控制变量;对于结构较少的while循环,这样的重置就在您的手中,而您却没有这样做。

相关问题 更多 >