在代码中运行printDicts()时出现以下错误:
Traceback (most recent call last):
File "Desktop\PythonApplication1\PythonApplication1\exercise3.py", line 238, in <module>
main()
File "Desktop\PythonApplication1\PythonApplication1\exercise3.py", line 232, in main
choisesDict[choise]()
File "Desktop\PythonApplication1\PythonApplication1\exercise3.py", line 206, in printDicts
d = add3dicts(d1,d2,d3)
File "Desktop\PythonApplication1\PythonApplication1\exercise3.py", line 198, in add3dicts
addD3(list(d3.keys()))
File "Desktop\PythonApplication1\PythonApplication1\exercise3.py", line 194, in addD3
return addD2(lis[1:])
File "Desktop\PythonApplication1\PythonApplication1\exercise3.py", line 184, in addD2
returnDic[lis[0]] = insert2(d2[lis[0]],d3[lis[0]])
KeyError: 8
代码是:
^{pr2}$我尝试了我所知道的一切,搜索了互联网和一切,但不知道是什么错误和如何解决它。 错误中的“键”与字典有关吗?如果是这样,那么错误是什么?这本词典似乎写得很好。如果它与字典无关,那错误是什么? (抱歉,如果英语有错误,这不是我的母语….)
显然,
lis[0]
在运行时包含值8
。然后尝试用d2
和d3
中的键8
获取元素。这些字典都不包含具有给定键的元素。为什么会出现错误。在您的代码只检查}。所以
lis[0]
是否在d3
中,而不是{d2
一定是罪魁祸首。尝试将代码更改为:注意:由于我不确定整个算法的预期逻辑是什么,它可能不会给你预期的结果。但它应该避免例外。在
相关问题 更多 >
编程相关推荐