2019年1月5日 星期六

[Python學習筆記] 自動產生等差數列函數 range() 的使用方法

在程式設計時,常常會需要產生一個連續數字,例如:1~1000,用手動輸入一定會累死,這時候就要使用 range() 函數來產生了,除了產生連續數字外,range() 函數也可以產生等差數列的內容,range() 的應用常常會與 list() 函數或 for 迴圈撘配使用,有下面幾種使用方法:

下面的筆記都在python console下直接執行:

說明:range() 函數的回傳資料型態為 range,無法使用 print() 列印出其值,實務上會使用list() 函數將其轉換成串列(list)型態的資料

(1) range(n):表示產生 0n-1 的數列

範例:產生0至10的數列

           >>> a=range(11)
           >>> type(a)
           <class 'range'>     #由range函數產生的資料型態為range
           >>> a=list(a)         #使用list()函數來轉換成串列型態
           >>> print(a)

           執行結果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

(2) range(start,end):start為起始值,end為終止值,產生 start end-1 的數列

範例:產生1至10的數列

           >>> a=list(range(1,11))
           >>> print(a)

          執行結果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

(3) range(start,end,step):start為起始值,end為終止值,step為等差值,產生 start end-1 等差為 step 的數列

範例:產生2至10等差為2的數列

           >>> a=list(range(2,11,2))
           >>> print(a)

           執行結果:[2, 4, 6, 8, 10]