Python - 关于Python中嵌套循环的愚蠢问题

时间:2017-08-07 05:43:15

标签: python

我在Python中遇到了一个关于嵌套循环的愚蠢问题。

我只是想弄清楚为什么第二个语句将遵循第一个语句循环5次?下面是我的循环代码,希望有人可以向我解释。提前致谢! :)

for steps1 in range(5):
   print('@@@')
   print('@@@')
   for steps2 in range(4):
          print('###')
          print('###')

2 个答案:

答案 0 :(得分:0)

此代码应按如下方式执行:对于外循环的每个循环,内循环执行4次。 (如果你挣扎,笔和纸张运行模拟可能会有所帮助)。这就是说你的输出应该看起来像那样:

@@@ //First outer cycle
@@@
### //First inner cycle
###
### //Second inner cycle
###
### //Third inner cycle
###
### //Fourth inner cycle
###
@@@ //Second outer cycle
@@@
...

这就是嵌套循环在大多数语言中的工作方式。由于Python不使用括号来确定函数范围,因此必须非常注意意图。如果您希望第二个for语句只运行4次,则必须编写如下代码:

for steps1 in range(5):
   print('@@@')
   print('@@@')
for steps2 in range(4):
   print('###')
   print('###')

编辑:更多说明

答案 1 :(得分:-2)

for steps1 in range(5):
  print('@@@')
  print('@@@')
for steps2 in range(4):
  print('###')
  print('###')

第二个语句由于缩进而循环

试试这个