Python嵌套for循环中i值未从2开始输出的原因咨询
问题解答
你的代码如下:
for i in range(2,5): for j in range(2,i): print(f"i:{i}\tj:{j}")
之所以看不到i=2的输出,核心原因是:
当i=2时,内层循环的range(2,2)是一个空序列——Python里range(a,b)生成的是大于等于a、小于b的整数序列,当a和b相等时,没有符合条件的数,所以内层循环根本不会执行,自然不会打印任何和i=2相关的内容。
只有当i≥3时,内层循环才会有可迭代的元素:
- i=3时,
range(2,3)生成[2],内层循环执行1次,输出i:3 j:2 - i=4时,
range(2,4)生成[2,3],内层循环执行2次,分别输出i:4 j:2和i:4 j:3
内容的提问来源于stack exchange,提问作者li Ju
相关产品推荐
相关产品推荐

