使用for循环python的无限循环

时间:2018-03-06 12:35:56

标签: python variables for-loop

所以我试图创建一个使用for循环而不是while循环的无限循环。这是我目前的代码。如果此代码有效,则应无限生成x。 目前的代码:

z=1
for x in range(0,z):
    print(x)
    z=z+1

3 个答案:

答案 0 :(得分:5)

这不起作用,因为第一次进入for循环时,range函数会在此时生成从零到z的值的范围,稍后会更改为{{1} }不会影响它。您可以执行类似于您想要的操作,例如itertools.count

z

答案 1 :(得分:2)

range返回一个迭代器。在循环迭代之前已经生成并评估了迭代器。 (它是循环迭代的返回迭代器)。

返回迭代器后,不使用z的值,因此递增或更改其值为no-op。

如果您真的想要使用for进行无限循环,则必须编写自定义生成器。

例如:

def InfiniteLoop():
   yield  1

用作:

for i in InfiniteLoop()

答案 2 :(得分:1)

每次迭代后更新列表进行无限循环

list=[0] 
for x in list:
    list.append(x+1)
    print (x)