在 python 条件下使用计数器

Using counter in condition in python

假设我有以下代码:

i=0
while True:
    if flag==True and i=i+5:
        func()
    .
    .
    .
    i+=1
    break

不应该是i==i+5

我要运行func()各5次

如果i能被5整除:

i % 5 == 0

i = i + 5 始终为真,除非 i 的先前值为 -5。但是,if i = i + 5 是无效语法。 i == i + 5 始终为假。在 if flag == True 部分,与 True 进行显式比较是多余的。 if flag 就足够了。

现在进入正题。如果要在循环的每五次迭代中调用 func,则必须使用模块运算符。

while True:
    if flag and i % 5 == 0:
        func()
    # Other stuffs that you want to run at each iteration

如果你在 while 循环结束时有一个中断,那么它会在第一次迭代后立即中断。理想情况下,break/continue 语句应该在 if 块内。