簡體   English   中英

范圍 function 的停止值背后的邏輯是什么,python 中的步長值為負

[英]What's the logic behind stop value of range function with negative step value in python

我的問題很簡單。 我是 python 的新手,我最近了解了 python 中的range() 我通過一個示例程序 go,他們要求使用范圍 function 打印 3 的反向乘法表,我的代碼是

for i in range(30,3,-3):
           print(i)

但是 output 和我預期的不一樣。 output不包括3。我不知道為什么。 我的問題最后一個值應該是(停止值-1),即在這種情況下為 2。 所以 3 也應該被打印,但不是這樣。 請解釋原因。 我誤解了邏輯嗎? 如果是這樣,請解釋。

range(start, stop[, step])的 python 文檔說明如下:

對於負步長,范圍的內容仍然由公式 r[i] = >start + step*i 確定,但約束是 i >= 0 和 r[i] > stop。

這意味着停止參數不包括在范圍計算中。

range()在生成列表時排除了停止點(實際上它們返回了一個生成器)。 您應該將3更改為2 ,然后它將包括 3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM