假設這是我的目標回圈,從 10 開始,以 6 結束。
for i in range(10,6,-1):
print(i)
但我想多次列印 8 次。
- 預期的輸出是 10, 9, 8, 8, 8, 7, 6
因此,如果回圈正在下坡,有沒有辦法在某個點停止并一次又一次地重復該值 N 次?
uj5u.com熱心網友回復:
一個非常簡單的硬編碼:
for i in range(10,5,-1):
if i == 8:
for _ in range(3):
print(i)
else:
print(i)
輸出:
10
9
8
8
8
7
6
uj5u.com熱心網友回復:
您也可以考慮對while塊做同樣的事情 -
loop_range = range(10, 6, -1)
it = iter(loop_range)
while True:
try:
item = next(it)
if item == 8:
print(*[item]*3, sep='\n')
print(item)
except StopIteration:
break
使用生成器運算式可以使相同的結構更簡潔和更具可讀性 -
custom_sequence = ((_,)*3 if _ == 8 else (_,) for _ in range(10, 6, -1))
for i in custom_sequence:
print(*i, sep='\n')
uj5u.com熱心網友回復:
對于具有單個回圈體的解決方案,
for i in range(10, 5 - 2, -1):
j= i min(2, max(0, 8 - i))
print(j)
您可以用8另一個要重復2的數字和另一個重復計數替換。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/441212.html
標籤:Python python-3.x 麻木的 for循环 数学
