Python将两个字典合并为一个字典,如果两个字典中分别有相同的键(key),需将对应的值相加后作为字典中该键对应的新值。

将两个字典合并为一个字典,如果两个字典中分别有相同的键(key),需将对应的值相加后作为字典中该键对应的新值。
输入格式:
在第一行中输入第一个字典字符串 在第二行中输入第二个字典字符串。注意:两个输入的字典中键的数据类型必须一致,要就全部为数字,否则全部为字符;字典中值的数据均为数字。
输出格式:
输出合并后的字典,字典数据要求按照键的降序排列。注意:本题字典不可直接输出,需先获取字典键的列表,将其排序后再将字典的键值对按格式输出。
输入样例1:
{1:3,2:5}
{1:5,3:7}
输出样例1:
{3:7,2:5,1:8}
输入样例2:
{'c':3,'a':4,'n':1}
{'a':3,'c':7,'b':10}
输出样例2:
{'n':1, 'c':10, 'b':10,'a':7}
测试数据:2个,与题目样例等价
我的答案:

a=eval(input())
dic=eval(input())
for key1, value1 in a.items():
    if key1 in dic:
        dic[key1]+=value1
    else:
        dic[key1]=value1
dic=sorted(zip(dic.keys(),dic.values()),reverse=True) 
d={}
for i in range(len(dic)):
    d[dic[i][0]]=dic[i][1]
print(d)

结果
第1/2条 运行结果 错误 该组输出结果格式错误,程序输出:{3: 9, 2: 5, 1: 8} 第2/2条 运行结果 错误 该组输出结果格式错误,程序输出:{'n': 11, 'c': 10, 'b': 10, 'a': 7}
不知问题出在了哪里?

img


我用3.6跑,没问题啊

你这代码应该没问题呀

谢谢回答的各位,我自己用idle运行也没问题,可能是系统出错了吧

想问问多的空格怎么去啊?