我正在嘗試創建一個列印帶有標記軸的板的函式。這是我用于列印 y 軸的代碼。
y = [-1, 4]
y_axis = range(y[0], y[1] 1)
for i in y_axis: # rows
print(y_axis[i])
這是我得到的輸出:
4
-1
0
1
2
3
為什么它不從 y[0] 開始并以整數遞增直到 y[1] 1 ?我認為這是 range() 函式的輸出。對于我的專案,我需要這段代碼來輸出以下內容:
4
3
2
1
0
-1
我不明白如何得到我想要的結果,我已經嘗試了幾個小時!非常感謝任何幫助,謝謝
編輯:棘手的部分是這應該能夠以正確的順序列印任何型別的范圍:如果我使用負步驟,它可能無法對所有正值等正常作業這樣的方法不起作用:-1 - > 4: 范圍(y[0], y[1] 1) 4 -> -1: 范圍(y[1], y[0]-1, -1)
我需要一個通用的解決方案。它可能與 enumerate() 函式有關嗎?
uj5u.com熱心網友回復:
這就是你要找的:
y = [-1, 4]
y_axis = range(y[1], y[0]-1, -1)
for i in y_axis:
print(i)
您的原始代碼有兩個問題:
列印應該是元素,而不是索引串列。
您的范圍應該從 4(第一個元素)開始,到 -2(第二個元素)結束。為了確保遞減,請使用函式范圍的第三個引數:step。step=-1 從第一個元素到最后一個元素遞減。您可以通過執行以下操作來測驗專案范圍輸出的順序:
列印([i for i in range(4, -2, -1)])
希望這有幫助!干杯! :)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/348096.html
