python-3.x - 在给定条件的情况下增加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
```
解决方案
您正在尝试修改由 for 循环隐式设置的参数。这不是 C 代码,增加计数器变量不会跳过下一次迭代。
原因很简单:for
它本身不会在每次迭代中增加i
,它只是逐步遍历给定的可迭代对象。在这种情况下,可迭代对象是一个范围,其行为就像每次迭代for
都会增加i
,但它实际上只是从范围中获取下一个值。
所以i+=1
对下一次迭代没有影响,因为它不会修改range
.
推荐阅读
- node.js - GitHub API 在尝试生成访问令牌时返回 401
- powershell - 使用 Get-Disk 列出磁盘号并检查它们是否在线
- webrtc - 连接到同一台机器时看似随机的 WebRTC ICE 连接失败
- ruby-on-rails - 在暂存环境中测试子域
- python - 如何更新不断变化的类变量
- java - java / Kotlin中从“2020-05-08T11:01:48.3300000Z”日期时间字符串将日期字符串格式化为m/d/yyyy的正确方法是什么
- python - 迭代numpy arange会改变值
- c++ - boost::program_options 在指定了意外的位置参数时不报告错误
- c++ - 我如何迭代集合中的替代元素(或跳跃特定大小)?
- c - 在C中连接两个整数数组