镜花丿水月 发表于 2022-1-6 14:44:32

while的嵌套问题

如图所示
b循环嵌套在了a循环中
print语句写在了b循环中

我想的是应该print5*5=25次
为什么最后只print出来5次呢??

Twilight6 发表于 2022-1-6 15:02:08

因为第一次 while a 的循环 执行了5 次 while b 的循环后,b 变量的值被赋值为 6 了

此后无论执行多少次 循环,都不会在执行 while b 的循环,因为 while b 的循环条件已经不满足

若想让他下次循环循环重新进行,那么就需要将 b 变量在 内部嵌套循环结束后 初始化

阿萨德按时 发表于 2022-1-6 15:05:06

楼上大佬正解
a = 1

while a <= 5:
    b = 1
    while b <= 5:
      print(1)
      b += 1
    a += 1

镜花丿水月 发表于 2022-1-6 15:10:26

Twilight6 发表于 2022-1-6 15:02
因为第一次 while a 的循环 执行了5 次 while b 的循环后,b 变量的值被赋值为 6 了

此后无论执行多少 ...

啊~~!!!!谢谢!!!!!非常感谢!!

清少呐 发表于 2022-1-6 15:18:32

你的while是判断5次怎么可能就5*5=25次了呢,想print25次就在while判断写25就行了
页: [1]
查看完整版本: while的嵌套问题