Python增量迭代循环

如何解决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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?