# wk07_1019_串列與元組 1. list - 特性 - 宣告 - 讀取 - ADU 2. tuple ## 【inclass practice】 ### [概念複習] {綜合演練} 實作2 輸入喜歡的水果,直到Enter鍵結束,找尋fruit = ["香蕉","蘋果","橘子","鳳梨","西瓜"]水果串列是否包含此水果,並顯示該水果是串列中的第幾項 實作6 西元2021年是牛年。請你開發一個程式: 當使用者輸入他的出生西元年之後,畫面會顯示這個西元年的生肖。 ### {範例} - 串列出值設定 \<list1> - 使用 for 迴圈讀取串列元素 \<list2> - 利用迴圈配合索引讀取串列元素 \<list3> - 以串列計算班級成績 \<append1> - 刪除指定串列元素 \<remove> - 成績由大到小排序 \<sorted> ### #以串列計算班級成績 ```python scores = [] in_score=0 while in_score !=-1: in_score = int(input("please enter score: ")) if in_score!=-1: scores.append(in_score) print(scores) ``` please enter score: 100 please enter score: 100 please enter score: 30 please enter score: 90 please enter score: 50 please enter score: -1 [100, 100, 30, 90, 50] ```python scores = [100,20,90,100,90,30] ttl= 0 avg= 0 n=0 for score in scores: ttl = ttl + score n = n + 1 avg=ttl/n print("總分 %d, 平均%6.2f" %(ttl,avg)) ``` 總分 430, 平均 71.67 ```python #實作2:輸入喜歡的水果,直到Enter鍵結束 #找尋fruit = ["香蕉","蘋果","橘子","鳳梨","西瓜"],水果串列是否包含此水果,並顯示該水果是串列中的第幾項 ``` ```python fruit = ["香蕉", "蘋果", "橘子", "鳳梨", "西瓜"] print(fruit) #del_fruit = "龍眼" del_fruit = input("please enter the fruit to delete") if fruit.count(del_fruit)==0 : print("查無此水果") else: fruit.remove(del_fruit) print("我已經完成刪除",del_fruit) print(fruit) ``` ['香蕉', '蘋果', '橘子', '鳳梨', '西瓜'] please enter the fruit to delete西瓜 我已經完成刪除 西瓜 ['香蕉', '蘋果', '橘子', '鳳梨'] ### {範例} ```python list1 = [] list2 = ["蘋果", "香蕉", "草莓"] list3 = ["台灣", "日本", "香港"],["排球", "桌球", "撞球"] print(list1) print(list2) print(list3) ``` [] ['蘋果', '香蕉', '草莓'] (['台灣', '日本', '香港'], ['排球', '桌球', '撞球']) ```python fruit = ['香蕉','蘋果','柳丁'] fruit[4] ``` ```python fruit.append("櫻桃") fruit.append("葡萄") print(fruit) ``` ['香蕉', '蘋果', '柳丁', '櫻桃', '葡萄'] ```python fruit.insert(4,"西瓜") print(fruit) ``` ['香蕉', '蘋果', '柳丁', '櫻桃', '西瓜', '葡萄'] ```python fruit.pop() print(fruit) ``` ['香蕉', '蘋果', '柳丁', '櫻桃', '西瓜'] ```python fruit.pop(-3) print(fruit) ``` ['香蕉', '蘋果', '櫻桃', '西瓜'] ```python fruit.remove('西瓜') print(fruit) ``` ['香蕉', '蘋果', '櫻桃'] ```python fruit[0] = "火龍果" fruit.insert(3,"西瓜") fruit.insert(4,"柳丁") fruit.insert(6,"西瓜") fruit.insert(7,"西瓜") print(fruit) ``` ['火龍果', '蘋果', '櫻桃', '西瓜', '柳丁', '西瓜', '西瓜'] ### #使用for迴圈讀取串列元素 ```python for fruits in fruit: print(fruits) for i in range(5): print(i,fruit[i]) ``` 火龍果 蘋果 櫻桃 西瓜 柳丁 西瓜 西瓜 0 火龍果 1 蘋果 2 櫻桃 3 西瓜 4 柳丁 ```python len(fruit) ``` 7 ```python fruit.index("西瓜") ``` 3 ```python fruit.count("柳丁") ``` 1 ## 【afterclass practice】 1. 綜合演練 選擇題1-10 (需抄題在markdown cell ; 有程式碼的題目要有code cell ) 2. 教學影音 lesson 8 ( B ) 1. 執行下列程式,下列結果何者正確? list1 = [1, 2, 3, 4, 5] print(list1[0]) (A) 0 (B) 1 (C) 2 (D) [1, 2, 3, 4,5] ```python list1 = [1, 2, 3, 4, 5] print(list1[0]) ``` ( A ) 2. 執行下列程式,下列結果何者正確? list4 = ["香蕉", "蘋果", "橘子"] print(list4[-3]) (A) 香蕉 (B) 蘋果 (C) 橘子 (D) 錯誤,索引值超過範圍 ```python list4 = ["香蕉", "蘋果", "橘子"] print(list4[-3]) ``` ( D ) 3. 執行下列程式,n 的值為多少? scores = [85, 79, 93] n=len(scores) (A) 0 (B) 1 (C) 2 (D)3 ```python scores = [85, 79, 93] n=len(scores) print("n=",n) ``` ( B ) 4. 執行下列程式,n 的值為多少? list1 = ["香蕉","蘋果","橘子"] n = list1.index("蘋果") (A) 0 (B) 1 (C) 2 (D)3 ```python list1 = ["香蕉","蘋果","橘子"] n = list1.index("蘋果") print("n=",n) ``` ( A ) 5. 執行下列程式,下列結果何者正確? list1 = ["香蕉","蘋果","橘子"] n = list1.count("西瓜") (A) n=0 (B) n=1 (C) n=2 (D) 出現錯誤 ```python list1 = ["香蕉","蘋果","橘子"] n = list1.count("西瓜") print("n=",n) ``` ( D ) 6. 執行下列程式,下列結果何者正確? list1 = [1,2,3,4,5,6] m = list1.pop() n = list1.pop(2) (A) m=1, n=6 (B) m=2, n=3 (C) m=6, n=2 (D) m=6, n=3 ```python list1 = [1,2,3,4,5,6] m = list1.pop() n = list1.pop(2) print("m=",m) print("n=",n) ``` ( C ) 7. 執行下列程式,下列顯示結果何者正確? list1 = [1,2,3,4,5,6] list1.insert(-1, "愛") list1.insert(12, "台灣") print(list1[5]) (A) -1 (B) 12 (C) 愛 (D)台灣 ```python list1 = [1,2,3,4,5,6] list1.insert(-1, "愛") list1.insert(12, "台灣") print(list1[5]) ``` ( C ) 8. 執行下列程式,下列顯示結果何者正確? list1 = [1,2,3,4,5,6] del list1[1] print(list1) (A) [1,2,3,4,5,6] (B) [2,3,4,5,6] (C) [1,3,4,5,6] (D) [1,2,3,4,5] ```python list1 = [1,2,3,4,5,6] del list1[1] print(list1) ``` ( D ) 9. 執行下列程式,下列顯示結果何者正確? list1=[3,2,1,5] list1.reverse() print(list1) (A) [3,2,1,5] (B) [1,2,3,5] (C) [5,3,2,1] (D) [5,1,2,3] ```python list1=[3,2,1,5] list1.reverse() print(list1) ``` ( C ) 10. 執行下列程式,下列顯示結果何者正確? list1=[3,2,1,5] list2=sorted(list1,reverse=True) print(list2) (A) [3,2,1,5] (B) [1,2,3,5] (C) [5,3,2,1] (D) [5,1,2,3] ```python list1=[3,2,1,5] list2=sorted(list1,reverse=True) print(list2) ``` ```python ```