我得到了以下程序,我被要求写下它打印的内容:
num = 10
for num in range(5):
print(num)
print(num)
Run Code Online (Sandbox Code Playgroud)
我的回答是:
10
我的理由是num已经被定义为10,所以它不能在范围内(0,5),所以我们可以跳过这个循环.然后,我们简单地写下num:10.
答案非常不同:
0
1
2
3
4
4
Run Code Online (Sandbox Code Playgroud)
这是怎么回事,最后一行怎么可能打印4,什么时候num被定义为10开始?
当你这样做时:
for num in range(5):
print(num)
Run Code Online (Sandbox Code Playgroud)
您分配给numvia 的值num = 10被for循环覆盖.在循环中,您的num从0到4变化.当for循环结束时,它将值保持为4.当你执行print num打印时,在循环外打印,4因为它保持最后指定的值for.