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

答案有问题吗??

s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])

for x in s:

    print x[0] + ':',x[1]

为什么不行呢?答案错了?

正在回答

1 回答

主要原因是加好两边数据类型不一致,左边的x[0]是字符串,右边的x[1]是数值,所以出错。

其次,你又用了加号,又用了逗号。。。

强行使用加号,改为如下即可。

s = set([('Adam', '95'), ('Lisa', '85'), ('Bart', '59')])
for x in s:
    print x[0] + " : " + x[1]

为了不破坏数据类型,建议使用逗号,如下。

s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
for x in s:
    print x[0], ":", x[1]

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

司夜刺客 提问者

谢谢!懂了
2017-11-23 回复 有任何疑惑可以回复我~
#2

Jannicicy 回复 司夜刺客 提问者

同学你好 我用你的代码运行了一下,你的代码理论上是没有问题的,而是你的逗号,是中文格式下的,你可以把你的代码中的,换成英文的就能运行出来。 对于这个任务我是这样理解的,+只有在相同类型的数值下才能起到连接符的作用想x[0]是字符串,‘:’也是字符串,所以它们俩之间就能用+进行连接,然而x[1]是整数类型,所以可以把其转换成字符串再用+连接 比如:print x[0]+':'+str(x[1]) 实际上逗号,不能起到连接的作用,只是print在读取逗号,时会自动形成空格 所以看起来像连接起来一样。当然用逗号来处理也是正确的。
2017-11-24 回复 有任何疑惑可以回复我~
#3

weixin_慕后端7114078 回复 Jannicicy

这是正解
2019-08-12 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

答案有问题吗??

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