阿摩線上測驗 登入

申論題資訊

試卷:99年 - 099年警察人員及99年交通事業鐵路人員員級_資訊處理#34123
科目:程式設計
年份:99年
排序:0

申論題內容

二、輸入 99 筆某科目成績,資料型態為整數,假設已存入陣列 data[]中。撰寫程式(任 何程式語言均可)輸出此科目成績之平均值及中位數(即按數字大小順序排列, 排在中間位置的數字即為中位數)。計算平均值及中位數的程式必須以呼叫函式 (call function)方式來完成,函式名稱分別為 mean()及 medium()。(25 分)

詳解 (共 1 筆)

詳解 提供者:hchungw
使用Python寫成的程式,計算99筆成績的平均值和中位數。我們將會定義兩個函式:mean()用於計算平均值,medium()用於計算中位數。由於資料量是固定的99筆,所以中位數將會是排序後位於中間的數字,即第50個數字(因為列表索引從0開始,所以實際上是索引為49的元素)。

def mean(data):
    return sum(data) / len(data)
def medium(data):
    sorted_data = sorted(data)
    n = len(sorted_data)
    # 由於是99筆資料,所以直接取中間的值即可
    return sorted_data[n // 2]
# 假設data是一個包含99筆成績的列表
data = [90, 85, 78, 92, 88, 75, 69, 95, 88, 82, 75, 67, 88, 92, 76, 93, 85, 84, 91, 89, 77, 78, 86, 94, 95, 73, 81, 72, 80, 83, 91, 89, 74, 76, 93, 87, 85, 82, 90, 91, 92, 93, 94, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90]
print("平均值:", mean(data))
print("中位數:", medium(data))
在這個程式中,mean()函式直接使用Python的內建函式sum()來計算所有成績的總和,然後除以成績的數量(即len(data))來得到平均值。medium()函式首先使用sorted()函式將成績排序,然後直接取中間的值作為中位數。由於我們有奇數個成績(99),中位數將是排序後列表中的第50個元素(在Python中索引為49的元素)。
這樣,我們就可以根據給定的成績數據計算出該科目的平均值和中位數了。