運算思維練習:陣列
List 走訪、統計、搜尋與二維資料
練習一:基本陣列走訪Traversal

題目描述

建立數列 [10, 20, 30, 40, 50],依序輸出每個元素。

解題思路

  1. 建立 List。
  2. 使用 for 逐一取得元素。
  3. 輸出元素。

Python 程式

numbers = [10, 20, 30, 40, 50]

for x in numbers:
    print(x)

執行結果

10
20
30
40
50
練習二:成績總和與平均Accumulation

題目描述

已知五筆成績,求總分與平均。

解題思路

  1. sum 由 0 開始。
  2. 走訪每一筆成績並累加。
  3. 平均 = 總和 ÷ 筆數。
scores = [80, 70, 90, 65, 85]
sum_score = 0

for score in scores:
    sum_score += score

avg = sum_score / len(scores)
print("總分 =", sum_score)
print("平均 =", avg)
總分 = 390
平均 = 78.0
練習三:最大值與最小值Compare

題目描述

找出陣列中的最大值與最小值。

解題思路

先以第一個元素當作目前最大/最小值,再逐一比較。

data = [12, 7, 35, 4, 21]
max_value = data[0]
min_value = data[0]

for x in data:
    if x > max_value:
        max_value = x
    if x < min_value:
        min_value = x

print("最大值 =", max_value)
print("最小值 =", min_value)
最大值 = 35
最小值 = 4
練習四:搜尋指定資料Search

題目描述

在 List 中搜尋 70,找到就輸出索引位置,找不到則輸出「不存在」。

data = [10, 30, 50, 70, 90]
target = 70
position = -1

for i in range(len(data)):
    if data[i] == target:
        position = i
        break

if position >= 0:
    print("索引 =", position)
else:
    print("不存在")
索引 = 3
練習五:統計出現次數Count

題目描述

統計數字 2 在陣列中出現幾次。

data = [1, 2, 3, 2, 4, 2, 5]
target = 2
count = 0

for x in data:
    if x == target:
        count += 1

print(count)
3
練習六:二維 ListNested List

題目描述

使用二維 List 儲存兩位學生的三科成績,逐列計算每位學生總分。

解題思路

外層走訪每位學生,內層走訪該學生的各科成績。

scores = [
    [80, 75, 90],
    [60, 88, 72]
]

for student in scores:
    total = 0
    for score in student:
        total += score
    print(total)
245
220