網頁

2025年7月6日 星期日

串列 List

 一、主題說明:

平常一行程式一次處理一組數字或字串資料當然一定沒有問題,但是如果要處理 5 組資料的話,是否就要寫 5 行程式敘述才能處理囉,這樣就太麻煩了,所以我們就必須學習如何使用串列 LIST 資料來處理這方面的問題。


二、串列介紹:

串列 ( list ) 是由一連串的數字或字串資料所組成的,而且資料是有順序的,和資料的內容也可以任由改變,串列資料的前後必須以中括弧 [ ] 標示,中括弧裡的串列資料則以逗號 ' , ' 隔開,每一個資料型別可以不一樣。

如:

#包含 6 個不同型別元素的串列

[ "Mary",65,"John",58,"Joe",75 ] 


#串列資料元素與上面相同但順序不同,表示不同串列

[ "Joe",75,"Mary",65,"John",58 ]


#使用內建函式 list() 建立串列

#建立空串列

data1 = list()  或  data1 = []

#建立包含 3 個數字的串列

data2 = list(11,22,33)  或  data2 = [11,22,33]


#使用 range 指令建立包含 0,1,2,3,4,5 的串列

data3 = list(range(6))

print(data3)

#執行結果:

[0,1,2,3,4,5]


#使用 range 指令建立包含 4,6,8,10,12,14 的串列資料

data4 = list(range(4,16,2))

print(data4)

#執行結果:

[4,6,8,10,12,14]


#可以使用 len 指令查出串列資料的長度

a = len( [33,44,55,66,77,88] )

print(a)

#執行結果

6


三、範例程式:

寫一個程式可以輸入任何數量的串列數字資料,然後將此資料做排序,並顯示排序前的串列資料,與排序後的串列資料。


#程式..


    def sort(data) :
        n = len(data)
        q = 0
        while(q == 0) :
            q = 1
            for i in range(0,n-1,1) :
                if data[i] > data[i+1] :
                    temp = data[i]
                    data[i] = data[i+1]
                    data[i+1] = temp
                    q = 0
        return data
       

    n = int(input("請輸入有幾組分數= "))
    d = []
    for i in range(0,n,1):
        d.append(int(input(f"第 {i+1} 組分數= ")))
    rint("排序前資料= ",d)
    sortdata = sort(d)
    print("排序後資料= ",sortdata)


#執行結果..

請輸入有幾組分數= 8

第 1 組分數= 66

第 2 組分數= 88

第 3 組分數= 22

第 4 組分數= 44

第 5 組分數= 11

第 6 組分數= 55

第 7 組分數= 77

第 8 組分數= 33

排序前資料=  [66, 88, 22, 44, 11, 55, 77, 33]

排序後資料=  [11, 22, 33, 44, 55, 66, 77, 88]





沒有留言:

張貼留言

TQC+ Python 證照考題評量(五十四) - 平均溫度

 一、主題介紹: 資料庫中的一堆數據資料,時常需要這些資料的平均值、最大值、與最小值,作為分析資料的依據,如能透過寫程式讓它們自動化就能增加效率,就來看看今天的 TQC+ 考題的練習。 (1) 題目 請撰寫一程式,讓使用者輸入四週各三天的溫度,接著計算並輸出這四週的平均溫度及最高...