# 8. 輸入顏色字典color_dict 內容,直到鍵值輸入end為止。再依據鍵值字母由小到大排序輸出
# 2025/04/21-20:50
color_dict = {}
# 輸入 key:value,直到 key 是 end 為止
while True:
key = input("請輸入顏色名稱(key,輸入 end 結束):")
if key == "end":
break
value = input("請輸入顏色的值(value):")
color_dict[key] = value
# 顯示原始字典(可選)
print("\n輸入的顏色字典:")
print(color_dict)
# 依照 key 排序後輸出
print("\n排序後的結果(依鍵名稱排序):")
for k, v in sorted(color_dict.items()): # 預設就是依 key 排序
print(f"{k:>8} : {v}")
請輸入顏色名稱(key,輸入 end 結束):blue
請輸入顏色的值(value):#0000FF
請輸入顏色名稱(key,輸入 end 結束):red
請輸入顏色的值(value):#FF0000
請輸入顏色名稱(key,輸入 end 結束):green
請輸入顏色的值(value):#00FF00
請輸入顏色名稱(key,輸入 end 結束):end
排序後的結果(依鍵名稱排序):
blue : #0000FF
green : #00FF00
red : #FF0000
目標 正確寫法
依 key 排序 sorted(dict.items()) 或 sorted(dict.keys())
依 value 排序 sorted(dict.items(), key=lambda item: item[1])
🔹 要照「名字」排 ➜ 排 key
🔸 要照「內容」排 ➜ 排 value
如果遇到要求 「排序字典內容但顯示格式要漂亮」 的題目,也可以用這一招進階排版技巧:
for k, v in sorted(color_dict.items()):
print(f"{k:<10} 👉 {v}")
就會顯示成這樣:
blue 👉 #0000FF
green 👉 #00FF00
red 👉 #FF0000