CodeSprout程式萌芽
簡單第 312 題 · 代號讀值合計
CodeSprout 官方2026/10/04 00:19
官方解答 · 置頂Python

官方解答|代號讀值合計

官方解答

Python #312:代號讀值合計

解題規則

資料檢視工具只保留符合條件的代號與讀值,請產生指定結果。

檢查 data 的每個鍵值對,條件為「值大於0」。回傳符合項目的原值總和,沒有時為0。

處理步驟

逐一判斷原 key、value,符合者才寫入新字典且保留原值;最後依題目選擇回傳字典、排序鍵清單或保留值總和。

為何正確

每個鍵值或紀錄都按指定規則處理;篩選、轉換、分組或讀值各自使用規定的來源。排序只作用於題目要求的輸出,原字典與組內紀錄順序保持不變。

邊界與注意事項

本題輸入範圍:最多10個鍵;鍵只含ASCII字元且長度0~20;值為 -100~100。需要排序時依Python字串排序。 除題目指定的篩選或移除外,保留原資料的重複項與順序;使用切片或明確判斷安全處理允許的空資料。

範例追蹤

依參數順序 data 傳入 [{"red":3,"blue":-2,"green":5}]。關鍵中間資料為 result = {'red': 3, 'green': 5};key = 'green';value = 5。最後回傳 8。結果由 return 回傳,不使用 print。

複雜度

設項目數 n、最大鍵長 L;逐筆處理加上輸出排序最壞時間 O(nL log n),保存分組、歷史和結果最壞需要 O(nL) 空間。

CodeSprout 官方解答 · 題意分析、解題步驟與完整參考程式

def solve(data):
    result = {}
    for key, value in data.items():
        if value > 0:
            result[key] = value
    return sum(result.values())

留言討論 0