Python 它应该是一个无限循环
我用python写了一段代码。在更改代码时,我问自己应该输出什么。 我也回答自己,这应该是一个无限循环。然后我运行它。但令人惊讶的是,这不是一个无限循环。我的问题是为什么Python 它应该是一个无限循环,python,loops,Python,Loops,我用python写了一段代码。在更改代码时,我问自己应该输出什么。 我也回答自己,这应该是一个无限循环。然后我运行它。但令人惊讶的是,这不是一个无限循环。我的问题是为什么 i=0 for i in range(10): if i == 5: i -=1 else: print(i) i+=1 它在python中非常基本。请参考range()函数生成的列表。这里的范围(5)表示[0,1,2,3,4] 因此,i逐个遍历列表[0,1,2,3,4
i=0
for i in range(10):
if i == 5:
i -=1
else:
print(i)
i+=1
它在python中非常基本。请参考
range()
函数生成的列表。这里的范围(5)
表示[0,1,2,3,4]
因此,i
逐个遍历列表[0,1,2,3,4]
i
不像while
循环条件那样,从一开始就保存相同的初始化值
for i in [0,1,2,3,4]:
if i==5:
i-=1
else:
print(i)
i+=1
您的代码和此代码的执行类似。i
的下一个值不取决于i
的上一个值,而是取决于列表的对象。
进一步的研究可能会对您有所帮助。range(10)
生成序列0,1,…,9
,您的i
变量在循环中从中获取其值。当i==5
时执行i-=1
的事实不会使i
从5
来回切换到4
,因为i
的值来自范围(10)
。当i==5
时发生的情况是,当您执行i-=1
时,它变为i==4
,但在下一次迭代中,i
将从范围
中取下一个值,即6
,依此类推,直到循环结束
这是一个无限循环:
i=0
while i < 10:
if i == 5:
i -=1
else:
print(i)
i+=1
i=0
当我<10时:
如果i==5:
i-=1
其他:
印刷品(一)
i+=1
为什么您认为它是一个无限循环?循环变量从范围(10)
中获取值,因此它应该运行10次。你只需跳过打印5。