20、字典合併 (10 分)
字典合併。輸入用字符串表示兩個字典,輸出合併後的字典,字典的鍵用一個字母或數字表示。注意:1和‘1’是不同的關鍵字!
輸入格式:
在第一行中輸入第一個字典字符串 在第二行中輸入第二個字典字符串
輸出格式:
在一行中輸出合併的字典,輸出按字典序。"1"的ASCII嗎爲49,大於1,排序時1在前,"1"在後,其它的也一樣。
輸入樣例1:
在這裏給出一組輸入。例如:
{1:3,2:5}
{1:5,3:7}
輸出樣例1:
在這裏給出相應的輸出。例如:
{1:8,2:5,3:7}
輸入樣例2:
在這裏給出一組輸入。例如:
{"1":3,1:4}
{"a":5,"1":6}
輸出樣例2:
在這裏給出相應的輸出。例如:
{1:4,"1":9,"a":5}
dic1=eval(input())
dic2=eval(input())
dic3={**dic1,**dic2}
for k1 in dic1:
b= k1 in dic2.keys()
if b:
dic3[k1]=dic1.get(k1)+dic2.get(k1)
break
c1,c2 = {},{}
for key in dic3.keys():
if type(key) == str:
c1[key] = dic3.get(key)
elif type(key) == int:
c2[key] = dic3.get(key)
ans1=dict(sorted(c1.items()))
ans2=dict(sorted(c2.items()))
num,num1 = 0,0
print("{", end='')
if len(ans2) != 0:
for k, v in ans2.items():
if len(ans1) == 0 and num1 == len(ans2) - 1:
print("{}:{}".format(k, v), end='')
else:
print("{}:{},".format(k, v), end='')
num1 = num1 + 1
if len(ans1) != 0:
for k, v in ans1.items():
if num == len(ans1) - 1:
print(("\""+"%c"+"\""+":"+"%d") % (k, v), end='')
else:
print(("\"" + "%c" + "\"" + ":" + "%d,") % (k, v), end='')
num = num + 1
print("}", end='')