下述Python模式生成代码中第二层for循环的作用是什么?
问题解答
第二层for循环没有对变量num做任何修改操作,它的作用只是控制当前外层循环拿到的固定num值,需要重复打印多少次,打印次数刚好等于当前num的数值大小。
我们逐行拆解运行逻辑就很容易理解:
你写的代码如下:
rows =6 for num in range(rows): for i in range(num): print(num,end=' ') print(' ')
- 首先外层循环
for num in range(rows)的作用:range(6)会生成0、1、2、3、4、5的整数序列,num会依次取这6个值,每取一次值就完整执行一次内层循环+末尾换行操作。 - 内层循环
for i in range(num)的作用:range(num)生成的序列长度等于num,比如num=2时range(2)是[0,1],长度为2,所以内层循环会执行num次- 每次循环执行的
print(num, end=' ')只是读取当前的num值打印,不会修改num,end=' '控制打印后不换行,用空格结尾 - 内层循环全部执行完后,
print(' ')触发换行,进入下一次外层循环
不同num值对应的输出效果如下:
- 当
num=0:内层循环执行0次,直接换行,输出第一行空行 - 当
num=1:内层循环执行1次,打印1后换行,输出1 - 当
num=2:内层循环执行2次,连续打印两次2后换行,输出2 2 - 以此类推,直到
num=5时打印5次5,和你给出的运行结果完全匹配。
如果想要去掉开头的空行,只要把外层循环改成for num in range(1, rows)即可,让num从1开始取值就不会出现执行0次内层循环的情况。
内容的提问来源于stack exchange,提问作者Ananthu
相关产品推荐
相关产品推荐

