[英]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.