---
# System prepended metadata

title: wk07_1019_串列與元組
tags: [winniepy]

---

# 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

```