python 循环中嵌套循环 循环次数不固定

Python010

python 循环中嵌套循环 循环次数不固定,第1张

是不固定的。

Python不仅支持if语句相互嵌套,while和for循环结构也支持嵌套。所谓嵌套(Nest),就是一条语句里面还有另一条语句,例如for里面还有forwhile里面还有while,甚至while中for或者for中有while也都是允许的。

要在 Python 中使用三个不同的嵌套循环打印输出 “*** **** ******”,可以使用以下代码:

此代码将使用三个单独的 for 循环来打印所需的输出。第一个循环将打印三个星号,第二个循环将打印四个空格,第三个循环将打印五个星号。函数的参数设置为空字符串,这将阻止循环在每次迭代后添加换行符。这将允许在一行上打印输出。endprint()

请注意,此代码只是一个示例,可能还有其他方法可以实现相同的结果。您可以尝试不同的方法来找到最适合您的解决方案。

回答不易望请采纳

https://stackoverflow.com/questions/11569535/python-nested-loop-with-generators-does-not-work-in-some-cases

这个文章解释的很清楚

当把生成器放在所有循环的外层时

得到的结果

但是如果把生成器放在循环当中

结果就是正常的

这是因为当a,b生成器在放在循环外层的时候,b生成器在外部循环第一次运行的时候,就已经用尽了,随后的迭代中,内部循环使用的都是空的b,就像

所以内部循环实际上只会在外部循环第一次运行的时候被循环一次,后面看起来就像没有被执行一样,实际是因为此时b为空了,所以要想循环正常运行,需要在内层循环运行的每次,都创建b生成器,就像第二个例子当中的那样。