我得到了以下程序,我被要求写下它打印的内容:
num = 10
for num in range(5):
print(num)
print(num)
我的答案是:
10
我的推理是 num 被定义为 10,所以它不能在 (0,5) 范围内,所以我们可以跳过这个循环。然后,我们简单地记下 num 是什么:10。
答案截然不同:
0
1
2
3
4
4
这到底是怎么回事,当 num 一开始就被定义为 10 时,最后一行怎么可能打印出 4?
请您参考如下方法:
当你这样做时:
for num in range(5):
print(num)
您通过 num = 10 分配给 num 的值被 for 循环覆盖。在循环中,您的 num 从 0 到 4 不等。当 for 循环结束时,它会将值保存为 4。在循环外,当您执行 print num 时,它会打印 4,因为它在 for 中保留了最后分配的值。
