if语句-在python中使用counter in condition



假设我有以下代码:

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

最新更新