假设我有以下代码:
i=0
while True:
if flag==True and i=i+5:
func()
.
.
.
i+=1
break
不应该是i==i+5
?
我想运行func()
每5次
i = i + 5
始终为真,除非i
的前值为-5
。但是,if i = i + 5
是无效的语法。i == i + 5
总是假的。在if flag == True
中,部分与True的显式比较是多余的。if flag
就足够了。
现在进入主要问题。如果你想在循环的每五次迭代中调用func
,那么你必须使用modules操作符。
while True:
if flag and i % 5 == 0:
func()
# Other stuffs that you want to run at each iteration
如果在while循环的末尾有一个断点,那么它将在第一次迭代后立即中断。理想情况下,break/continue
语句应该在if
块中。
如果i
能被5整除:
i % 5 == 0