(新手问题,请忍受...)
对于以下代码:
x = 4
for j in range(x):
for i in range(x):
print(i)
x = 2
Python打印以下内容:
0
1
2
3
0
1
0
1
0
1
...,而且我不明白为什么在没有print(j)命令而只有print(i)的情况下,为什么打印出0 1 2 3的第一次迭代。
行“用于range(x)中的j:”和j到底有什么作用?这是约翰·古塔格(John Guttag)(在MIT课程中使用)的“使用Python进行计算和编程简介”一书中的示例。
答案 0 :(得分:1)
外部循环for j in range(x):
用x=4
评估一次,这意味着内部循环将用j = 0,1,2,3评估4次。
然后您必须问自己,对表达式x
求值时for i in range(x):
的值是什么。
在第一个评估x
为4时,内部循环以i
的0、1、2、3执行。
第二次求值x
为2时,对于i
,内部循环以0,1执行
对于第三和第四次求值,x
也是2
,对于i
,内部循环以0,1执行。