python会自动终止或为无限“for”循环生成错误吗?
例如,
list = [1]
for number in list:
print (number + 1)
list.append(number + 1)
导致程序自行终止或出错?
我已经测试了一下,最远可达到10,000个。
答案 0 :(得分:2)
不,程序将永远运行。它可能会崩溃,因为你的调用堆栈很大(如果你在某处使用递归)或者你曾经用过很多内存。你的例子最终会崩溃。
while True:
pass
然而,“没有问题”会“永远”运行。
答案 1 :(得分:1)
该计划将结束,但它会持续很长时间。最终,您将为列表运行系统内存不足,程序将因错误而崩溃。
答案 2 :(得分:1)
除非您指定范围或限制,否则它不会被激活。你现在拥有它的方式一直持续到内存错误为止。
另外,不要将list
用作变量,因为它是python的保留函数。