0ueen 发表于 2020-4-13 17:59:06

while 的循环嵌套问题

题目while双层嵌套打印小星星
我的原答案:
rows = int(input('请输入打印行数:\n'))
row = 1
col = 1
while row <= rows:
    while col <= row:
      print('*', end='')
      col += 1
    print()
    row += 1

正确答案:
rows = int(input('请输入打印行数:\n'))
row = 1
while row <= rows:
    col = 1
    while col <= row:
      print('*', end='')
      col += 1
    print()
    row += 1

为什么一定要把col放在第一层while里面呀

zltzlt 发表于 2020-4-13 18:00:34

因为如果不放在循环里面 col 就会一直累加,不会清零(col = 1),预期是外层的 while 循环每循环一次都要将 col 清零的。

qiuyouzhi 发表于 2020-4-13 18:01:03

因为col是要每次循环重置的,
不然会一直叠加。

永恒的蓝色梦想 发表于 2020-4-13 18:01:10

这样内层循环每执行一次就会col+1一次,不然col一次循环之后就不是1了

0ueen 发表于 2020-4-13 18:29:13

zltzlt 发表于 2020-4-13 18:00
因为如果不放在循环里面 col 就会一直累加,不会清零(col = 1),预期是外层的 while 循环每循环一次都要 ...

懂了,谢谢

0ueen 发表于 2020-4-13 18:30:08

永恒的蓝色梦想 发表于 2020-4-13 18:01
这样内层循环每执行一次就会col+1一次,不然col一次循环之后就不是1了

懂了,谢谢

0ueen 发表于 2020-4-13 18:30:41

qiuyouzhi 发表于 2020-4-13 18:01
因为col是要每次循环重置的,
不然会一直叠加。

懂了,谢谢

qiuyouzhi 发表于 2020-4-13 18:33:24

0ueen 发表于 2020-4-13 18:30
懂了,谢谢

那就设个最佳答案吧~

zltzlt 发表于 2020-4-13 20:09:01

请设置一个最佳答案
页: [1]
查看完整版本: while 的循环嵌套问题