Python練習題-TQC+(708)-詞典合併

自行輸入兩個詞典
(以輸入鍵值"end"作為輸入結束點,
詞典中將不包含鍵值"end"),
將此兩詞典合併,並根據key值字母由小到大排序輸出,
如有重複key值,後輸入的key值將覆蓋前一key值。

讓使用者輸入兩組字典,
update()可以用來合併字典1+字典2
sorted(字典1)#以用來排序
最後再把排序好的字典印出來

1. 題目說明:

請開啟PYD708.py檔案,依下列題意進行作答,進行兩詞典合併,使輸出值符合題意要求。作答完成請另存新檔為PYA708.py再進行評分。

2. 設計說明:

請撰寫一程式,自行輸入兩個詞典(以輸入鍵值"end"作為輸入結束點,詞典中將不包含鍵值"end"),將此兩詞典合併,並根據key值字母由小到大排序輸出,如有重複key值,後輸入的key值將覆蓋前一key值。

3. 輸入輸出:

輸入說明

輸入兩個詞典,直至end結束輸入

輸出說明

合併兩詞典,並根據key值字母由小到大排序輸出,如有重複key值,後輸入的key值將覆蓋前一key值


輸入輸出範例

輸入與輸出會交雜如下,輸出的部份以粗體字表示

Create dict1:
Key: a
Value: apple
Key: b
Value: banana
Key: d
Value: durian
Key: end
Create dict2:
Key: c
Value: cat
Key: e
Value: elephant
Key: end
a: apple
b: banana
c: cat
d: durian
e: elephant


程式執行狀況擷圖

下圖中的 粉紅色點 為 空格

Alt text

參考解答:

print("Create dict1:")
dict1={}
d1=input('Key: ')
while d1 !='end':
  dict1[d1]=input('Value: ')
  d1=input('Key: ')


print("Create dict2:")
dict2={}
d2=input('Key: ')
while d2 !='end':
  dict2[d2]=input('Value: ')
  d2=input('Key: ')

dict1.update(dict2)
#print(dict1)
list1=sorted(dict1)
#print(list1)

for i in list1:
 print("{}: {}".format(i,dict1[i]))

看看效果

 

Yiru@Studio - 關於我 - 意如