将两个字典合并为一个字典,如果两个字典中分别有相同的键(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}不知问题出在了哪里?
|