我想创建一个无限循环,从0到100再从100到0(以此类推)并且只有在循环内部满足某些收敛准则时才停止,基本上是这样的:
for i in range(0, infinity):
for j in range(0, 100, 1):
print(j) # (in my case 100 lines of code)
for j in range(100, 0, -1):
print(j) # (same 100 lines of code as above)
有没有办法将循环j的两个for循环合并为一个,这样我就不必在循环内部两次编写相同的代码了?
TypeError: unsupported operand type(s) for +: 'range' and 'range'
。这个错误只能在Python 2中运行。意思是两个range对象不能直接相加。 - DeepSpacerange(100,0,-1)
实际上并不会以相反的方式产生range(0, 100, 1)
。如果你想从0
到包含99
,然后从99
回到0
,可以使用range(99,-1,-1)
。range(100)
是range(0,100,1)
的缩写形式,最好使用它。而且,没有range(0,正无穷)
语法,你可以使用for i in itertools.count():
创建一个无限计数器,或者使用while True:
创建一个无限循环。 - Martijn Pieters