为什么这个python循环会无穷大?
a = 10
counter = 0
condition = (counter<3)
while condition:
a= a +1
print (a)
counter = counter + 1
图片说明
回答
因为condition计算一次,永远不会更新。因此,即使已更新,condition也始终是。Truecounter
回答
在行中
condition = (counter<3)
Python 执行右侧的比较并将其分配给左侧的“条件”。这在循环之前发生一次并且condition总是True。您似乎认为这condition是一个函数,但事实并非如此。在循环开始之前,它的右手边只运行一次。
简单的解决方法是在循环条件下执行操作,以便每次都重新执行。
a = 10
counter = 0
while counter < 3:
a= a +1
print (a)
counter = counter + 1