[英]How do I make "if the loop is executing for the last time" condition in python
[英]How to make last element in python for loop increment one last time
在 Python 中:
ele = 0
for ele in range(0,4):
print('-')
print(ele)
我意识到这最终会打印 3 而不是 4,这与 C 风格的 for 循环不同。 是while
选择实现C风格的行为?
试试else
。 else
下的语句将在代码退出循环后只执行一次。
for ele in range(0,4):
print('-')
else:
ele=ele+1
print(ele)
输出:
-
-
-
-
4
您可以使用enumerate()
添加一个自变量来计算循环迭代次数:
N = 4
items = range(0, N)
i = 0
for i, x in enumerate(items, 1):
print(i, ":", x)
print("number of loop iterations done:", i)
您应该确保在循环之前重置该值,因为它没有设置为零,当循环甚至没有迭代一次时。
以供参考:
for ele in range(param1, param2)
,这意味着param1 <= ele < param2
如果你想得到param2的值,你可能会改变比param2大的值。
ele = 0
for ele in range(0,4):
print('-')
print(ele+1)
在 python 中, range 函数的工作方式不同,如果你想打印 N 次,试试这个:
ele = 0
for i in range(N):
print("-")
print(ele)
也不是您可以采用的唯一打印方法,您还可以:
print("-\n"*(N-1) + "-" + ele)
range()函数以不同的方式工作:
也可以参考官方文档: docs.python.org/3/library/functions.html#func-range
希望这会有所帮助:D!
一个for
与range
大致相当于一个for
名单上,也就是你的循环也可以写成:
for ele in [0, 1, 2, 3]:
print('-')
如果你想让ele
等于执行for
指令后的循环次数,你也可以这样写:
for ele in [1, 2, 3, 4]:
print('-')
可以使用range
重写为:
for ele in range(1, 5):
print('-')
因为range
是从第一个参数到第二个参数之前的数字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.