Python是否会停止无限的“for”循环?

时间:2015-10-13 15:29:22

标签: python

python会自动终止或为无限“for”循环生成错误吗?

例如,

list = [1]

for number in list:
    print (number + 1)
    list.append(number + 1)

导致程序自行终止或出错?

我已经测试了一下,最远可达到10,000个。

3 个答案:

答案 0 :(得分:2)

不,程序将永远运行。它可能会崩溃,因为你的调用堆栈很大(如果你在某处使用递归)或者你曾经用过很多内存。你的例子最终会崩溃。

while True:
    pass

然而,“没有问题”会“永远”运行。

答案 1 :(得分:1)

该计划将结束,但它会持续很长时间。最终,您将为列表运行系统内存不足,程序将因错误而崩溃。

答案 2 :(得分:1)

除非您指定范围或限制,否则它不会被激活。你现在拥有它的方式一直持续到内存错误为止。

另外,不要将list用作变量,因为它是python的保留函数。