測試環境為 CentOS 8 x86_64 (虛擬機)
[root@localhost ~]# python3 Python 3.6.8 (default, Mar 25 2022, 11:15:52) [GCC 8.5.0 20210514 (Red Hat 8.5.0-10)] on linux Type "help", "copyright", "credits" or "license" for more information.
開始學習 Python For 迴圈時,我看不懂以下的範例(程式須注意縮排,建議使用4個空白字元).
>>> for i in range(1,4): ... print(i) ... 1 2 3
不懂 range() 是? ,查了一下它是 Python 的內建型別 – https://docs.python.org/zh-tw/3.11/library/functions.html
下面我們來看一下 range 型別的用法 – https://docs.python.org/3.11/library/stdtypes.html#ranges .
其 Range 公式為:
r[i] = start + step*i where i >= 0 and r[i] < stop.
Range 依據參數有以下 2 種使用方式.
- class range(stop)
range 可以只使用一個傳入參數 stop ,其他都使用預設值(start =1 與 step =1) .
下面範例使用 Python 內建型別 list 顯示資料內容.>>> list(range(10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
依前面 Range 公式不會產生任何數字陣列.
list(range(0)) []
- class range(start, stop[, step])
當 range 傳入 2個參數分別為 start 與 stop ,沒指定 step 時其預設值為 1.>>> list(range(1, 11)) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
當 range 傳入 3個參數分別為 start , stop 與 step .依前面 Range 公式可以得到以下數字.
list(range(0, 30, 5)) [0, 5, 10, 15, 20, 25]
這次改為 (-) 負值.
list(range(0, -10, -1)) [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
回到前面 Python For 迴圈範例這樣就完全懂了.
>>> for i in range(1,4): ... print(i) ... 1 2 3
上面範例就等於下面這樣.
>>> for i in [1 , 2 , 3 , 4 ]: ... print(i) ... 1 2 3 4
沒有解決問題,試試搜尋本站其他內容