Skip to main content
 首页 » 编程设计

python之如果在循环之前 num=10,为什么 "for num in range(5)"会产生任何影响

2025年05月04日10qlqwjy

我得到了以下程序,我被要求写下它打印的内容:

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 中保留了最后分配的值。