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

,换成了+为什么就不行了?

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

变成    print x[0]+':'+x[1]

为什么就无法输出了?

正在回答

3 回答

不得不用加粗说明了,大家的热情可嘉,可是如果自己没有确切的答案 还答复的话,实在是一种干扰,抱歉这么没有礼貌。

答案:

在Python 中, 加号主要有这么两种用处:
第一: 数字的加法

第二:拼接,字符串拼接,列表拼接,元组拼接, 呃 其他待补充。。

## 加法
print 1+1
2


## 拼接
print "hello"+" world"
"hello world"

print [1,2]+[3,4]
[1, 2, 3, 4]

print (1,2)+(3,4)
(1, 2, 3, 4)

但是,如果用加号 连接不同类型的值的时候 就会出错了, 比如 字符串 + 数字:

s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
for x in s:
    print x[0],':'+x[1]
    
## 此处, ':' 是字符串, 而x[1] 则是数字 , 会报如下错误:
TypeError: Can't convert 'int' object to str implicitly
类型错误: 不能 隐性的将int对象 转化成 str。

## 这个错误什么意思呢?

跳出来说吧, 因为我们 让字符串 加 数字(字符串 + 数字), 对于解释器来说, 它先看到了字符串,然后看到了加号, 这时,解释器就期待 加号后面仍然为 字符串, 但是它却遇到了 数字, 这时候它就抱怨说: “不好意思,我不能自主的将数字转化成字符串(隐性转化的意思就是 代码没有明确的说明要转换,而解释器或者编译器自动转换; 而Python 是不支持 int 和 str 之间的隐性转换的)”


所以总结就是,之所以不对, 跟格式要求没啥关系, 就是 加号 的用法问题。

当然 x[0] 与 ":" 直接之所以能用 加号, 至此,题主应该没有疑惑了吧。

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

不思其反

大神请问 那如何在数字 后面加字符呢? 用加号 他会告诉我把后面转换为 str
2016-05-17 回复 有任何疑惑可以回复我~
#2

清波 回复 不思其反

没明白你的问题。。
2016-05-17 回复 有任何疑惑可以回复我~
#3

不思其反 回复 清波

比如他这个print x[0],':'+x[1],+',' 我想在每个x[1]的值后面写个,
2016-05-17 回复 有任何疑惑可以回复我~
#4

清波 回复 不思其反

那就没有必要写 成 +',' 了, 直接写成 print x[0],':',x[1],','
2016-05-18 回复 有任何疑惑可以回复我~
查看1条回复

输出的格式是有空格要求的

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

我之前也在怀疑这个 为什么java/C++里面的在这有时候就有问题。注意了:你前面是字符串,后面还有东西的话就用逗号分开,如果直接是x[0]和x[1]中间可以用+

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

举报

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

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

进入课程

,换成了+为什么就不行了?

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