今天在用python做这道题时,第二个测试点一直过不去,改了很多遍,放上代码:
1 first_line = input()
2 second_line = input()
3 first_line_list = first_line.split( )
4 second_line_list = second_line.split( )
5 dict1 = {}
6 dict2 = {}
7 for i in range(int(first_line_list[0])):
8 dict1[first_line_list[i*2 + 1]] = eval(first_line_list[i*2+2])
9 for i in range(int(second_line_list[0])):
10 dict2[second_line_list[i*2 + 1]] = eval(second_line_list[i*2+2])
11 for key in dict2:
12 dict1[key] = dict1.get(key,0) + dict2[key]
13 if dict1[key] == 0:
14 dict1.pop(key)
15
16 print(len(dict1), end="")
17 dict1=sorted(dict1.items(),key=lambda x:x[0],reverse=True)
18 for x,y in dict1:
19 print(" {} {:.1f}".format(x,y),end="")
最后发现问题在第8行和第9行,字典的关键字需要加上类型
dict1[int(first_line_list[i*2 + 1])] = eval(first_line_list[i*2+2])
猜测可能是多项式的输入格式有些不同,导致第一行和第二行相同的指数无法合并
来源:https://www.cnblogs.com/swordsman2333/p/12346668.html