为什么这段代码没有无限运行?

时间:2019-11-29 16:49:33

标签: python arrays append range infinite-loop

my_array = [1,2,3,4,5]
total = len(my_array)
for value in range(total):
    print(my_array[value])    
    my_array.append(value*value)
    total = len(my_array)
print(my_array) 

如果您连接调试器,并且看到变量“ total”的值将增加

1 个答案:

答案 0 :(得分:1)

range(total)在循环开始时仅被评估一次。每次迭代后都不会重新评估。因此,尽管total进入了循环,循环只会运行5次。