官方解答 · 置頂Python
官方解答|讀值統計卡
官方解答
Python #378:讀值統計卡
解題規則
記錄員需要比較同一組讀值的兩項統計摘要。
匯入 statistics。兩項都使用原始輸入分別計算,不讓前一項改變後一項資料。第一項是所有數的算術平均;第二項是排序後的中位數,偶數筆時取中間兩數平均。回傳 [第一項,第二項]。
處理步驟
匯入 statistics;兩項皆用原始參數獨立計算,再依題目順序回傳兩格清單。 本題輸入保證非空。平均使用全部原值,中位數依排序位置,眾數依出現次數與首次出現順序。
為何正確
標準模組函式各自實作所指定的日期、文字或統計運算。篩選依原值、轉換依保留項目、摘要依規定集合進行,因此輸出的資料來源與型態一致。
邊界與注意事項
本題輸入範圍:清單長度 1~12;每個數為 1~100。mode 遇到並列眾數時取原清單最先出現者;multimode 也依首次出現順序。 眾數並列時依原清單首次出現順序;round 的 .5 邊界依 Python 規則取最接近的偶數。
範例追蹤
依參數順序 values 傳入 [[1,2,2,5]]。直接將參數代入「算術平均/中位數」指定運算。最後回傳 [2.5, 2.0]。結果由 return 回傳,不使用 print。
複雜度
設數量為 n;中位數等排序統計最壞時間 O(n log n),其他掃描統計為 O(n),中間資料及回傳資料最壞 O(n) 空間。
CodeSprout 官方解答 · 題意分析、解題步驟與完整參考程式
import statistics
def solve(values):
return [statistics.mean(values), statistics.median(values)]
留言討論 0
登入 後就能留言,一起討論不同的寫法。