为了账号安全,请及时绑定邮箱和手机立即绑定

为什么最后不能写成 print key + ':' + d[key]?

为什么最后不能写成     print key + ':' + d[key]?会报错

正在回答

6 回答

key+':'是字符型的,d[key]是整数型的,两个不同类型的量输出,需要逗号分开,否则会出错。

0 回复 有任何疑惑可以回复我~

d = {

    'Adam': 95,

    'Lisa': 85,

    'Bart': 59

}

for key in d:

    print key+':'+str(d.get(key))


0 回复 有任何疑惑可以回复我~

因为这里的+是字符串连接符,也就是用来连接字符串类型的,d[key]事实上是整数啊,所以不能用+连接。采纳吧!

2 回复 有任何疑惑可以回复我~
#1

paleapple

可是课件里也是直接相加的啊?提问的写法和答案一样啊
2018-09-02 回复 有任何疑惑可以回复我~

key返回的是字符串,也就是str,d[key]返回的是数值,也就是int型。在python中,如果直接将字符串和数字用“+”拼接会报错,如果把后面的d[key]转换成字符串类型就可以使用“+”来连接了。

https://img1.sycdn.imooc.com//5b4feaf60001705402530195.jpg

https://img1.sycdn.imooc.com//5b4feb0a0001a1da01580112.jpg


5 回复 有任何疑惑可以回复我~

key 和 value 类型不一致时,会导致 TypeError ,你可以写成 print key+':' , d[key]。不知是否和你遇到的错误一致,下回提问的话最好把代码和错误信息都贴出来。

0 回复 有任何疑惑可以回复我~

+表示连接后面的东西只需要用一次

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758625    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

为什么最后不能写成 print key + ':' + d[key]?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信