首页 > 解决方案 > 在给定条件的情况下增加python中的for循环

问题描述

i+=1不工作,它应该增加价值,i但它不是

n = int(input())

for j in range(n):
    a = input()
    pair = 0

    for i in range(len(a)-1):
        print(i)
        if a[i] == "x" and a[i+1] == "y":
            pair += 1
            print("*")
        elif a[i] == "y" and a[i+1] =="x":
            pair += 1
            print('**')
        else:
            continue
        i+=1
        print(pair)
        print("****")
    print(pair)strong text
    ```

标签: python-3.xfor-loopif-statement

解决方案


您正在尝试修改由 for 循环隐式设置的参数。这不是 C 代码,增加计数器变量不会跳过下一次迭代。

原因很简单:for它本身不会每次迭代中增加i,它只是逐步遍历给定的可迭代对象。在这种情况下,可迭代对象是一个范围,其行为就像每次迭代for都会增加i,但它实际上只是从范围中获取下一个值。

所以i+=1对下一次迭代没有影响,因为它不会修改range.


推荐阅读