在 Python 中:
ele = 0
for ele in range(0,4):
print('-')
print(ele)
我意识到这最终会打印 3 而不是 4,这与 C 风格的 for 循环不同。是while
实现 C 风格行为的选项吗?
在 Python 中:
ele = 0
for ele in range(0,4):
print('-')
print(ele)
我意识到这最终会打印 3 而不是 4,这与 C 风格的 for 循环不同。是while
实现 C 风格行为的选项吗?
您可以添加一个自变量来计算循环迭代次数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)
您应该确保在循环之前重置该值,因为它没有设置为零,当循环甚至没有迭代一次时。
以供参考:
试试else
。代码退出循环后,下面的语句else
将只执行一次。
for ele in range(0,4):
print('-')
else:
ele=ele+1
print(ele)
输出:
-
-
-
-
4
for
带 a的Arange
大致相当于for
列表中的 a,即您的循环也可以写成:
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
从第一个参数到第二个参数之前的数字。
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!