注册 登录
编程论坛 Python论坛

我的程序错误了,请问是为啥?

shiwenjin 发布于 2017-10-20 19:34, 1699 次点击
scores = {}
scores[8.45] = 'Joseph'
scores[9.12] = 'Zack'
scores[7.21] = 'Juan'

for value in scores.values():
    print(scores[value])

显示key error ‘Joseph’
这组代码我如果用
for key in scores.keys():
    print(scores[key])
是行得通的。为什么我把方式换成了.values(),就会出错了呢?
我把值换成了数字,例如:
scores[8.45] = 12
同样不行,我是个刚开始学习的新手,对于此类问题非常费解,求问!
1 回复
#2
Myloop2017-11-11 02:13
scores = {}
scores[8.45] = 'Joseph'
scores[9.12] = 'Zack'
scores[7.21] = 'Juan'

for value in scores.values():
    print(value)
#你在这里写的是print(scores[value]),这说明你对字典相关的函数的使用还不够熟悉,建议你搜索微信号:Crossin的编程教室,关注此公众号。你能学到很多,很系统,我个人比较推荐去买本入门书籍看,即使现在的网络资源很多,但都不够系统,而且碎片化。个人推荐去亚马逊购买Head First Python这本书看,很经典,生动有趣,但是里面的有些例子,比如说你如果按照书上的方法通过终端登录PyPi并且上传本地文件是登不上去的,我觉得应该是需要翻墙的缘故,但是这本书总体上很好,在豆瓣上排第一

Result:
Joseph
Zack
Juan

Process finished with exit code 0

1