如何解决Python增量迭代循环
这是我的代码
for i in range(0,5):
intl = i
print(intl)
intn = i+1
print(intn)
i+=1
print("---------")
我得到的输出如下。
0
1
---------
1
2
---------
2
3
---------
3
4
---------
4
5
---------
相反,我需要得到;
0
1
---------
2
3
---------
4
5
---------
解决方法
对不起,我弄错了。您要查找的是 range()
的 step 参数,如下所示:
for i in range(0,5,2):
intl = i
print(intl)
intn = i+1
print(intn)
print("---------")
现在,对于每个循环,它将跳过一个数字(因此 i=0,然后 i=2,然后 i=4)。在 for 循环中修改变量 i
时,您将更改在当前循环中处于活动状态的 i
的本地版本。 Python 实际上并不使用 i
从 itterable 中获取下一项,因此手动更改它对您的循环没有任何作用。
你可以简单地这样做:
for i in range(0,2):
intl = i
intn = i+1
print(intl)
print(intn)
print("---------")
现在 range 函数的步长为 2。步长是每个数字之间的差值。默认为 1。
for i in range(0,5):
print(i)
返回:
0
1
2
3
4
for i in range(0,2):
print(i)
返回:
0
2
4
在您的代码中,您这样做了:
i+=1
这不起作用,因为变量 i 是由每次迭代中的 for 循环设置的。这意味着无论你对 i 变量做什么,在下一次迭代中它都会比上次多 1。
,只要 '-------'
的下一个值可以被 2 整除,此代码就会打印 i
。
x = 5
for i in range(0,x+1):
print(i)
if (i+1) % 2 == 0:
print('---------')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。