鱼C论坛

 找回密码
 立即注册
查看: 1459|回复: 16

[已解决]为什么print()里用temp表示year就不行呢

[复制链接]
发表于 2018-2-22 21:11:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
不是tamp已经付值给year了么
最佳答案
2018-2-22 22:02:30
无情老兔兔 发表于 2018-2-22 22:00
不同类型可以用,区分开是吧

用加号是把两个字符串拼接成一个字符串,作为print的一个参数,用逗号是给print多个参数,这多个参数可以是不同数据类型。
$}5AEM_$D2ZQP7)2@8{7O%0.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-2-22 21:14:50 | 显示全部楼层
出现什么错误提示?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-22 21:17:49 | 显示全部楼层
file:///C:/Users/Administrator/Desktop/E2%5BX(C6MJETJXF%7DCL%604C1TQ.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-22 21:19:06 | 显示全部楼层
Traceback (most recent call last):
  File "C:/Users/Administrator/Desktop/自己写的闰年表.py", line 6, in <module>
    print(year+'是闰年')
TypeError: unsupported operand type(s) for +: 'int' and 'str'
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-22 21:19:54 | 显示全部楼层
冬雪雪冬 发表于 2018-2-22 21:14
出现什么错误提示?

Traceback (most recent call last):
  File "C:/Users/Administrator/Desktop/自己写的闰年表.py", line 6, in <module>
    print(year+'是闰年')
TypeError: unsupported operand type(s) for +: 'int' and 'str'
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-22 21:21:29 | 显示全部楼层
看着你的字符’像是全角打的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-22 21:21:38 | 显示全部楼层
year是整数不能和字符串相加,改为print(year,'是闰年')
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-22 21:23:34 | 显示全部楼层
  1. year = int(temp)
复制代码

这一句已经将字符类型的 temp 转换成整型的 year 了。
所以你下面 year + '闰年' 是两个类型不一样的对象,不能进行连接。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-22 21:59:28 | 显示全部楼层
°蓝鲤歌蓝 发表于 2018-2-22 21:23
这一句已经将字符类型的 temp 转换成整型的 year 了。
所以你下面 year + '闰年' 是两个类型不一样的对 ...

哦也就是说+必须同类型才可以
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-22 22:00:07 | 显示全部楼层
冬雪雪冬 发表于 2018-2-22 21:21
year是整数不能和字符串相加,改为print(year,'是闰年')

不同类型可以用,区分开是吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-22 22:02:30 | 显示全部楼层    本楼为最佳答案   
无情老兔兔 发表于 2018-2-22 22:00
不同类型可以用,区分开是吧

用加号是把两个字符串拼接成一个字符串,作为print的一个参数,用逗号是给print多个参数,这多个参数可以是不同数据类型。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-22 22:07:35 | 显示全部楼层
冬雪雪冬 发表于 2018-2-22 22:02
用加号是把两个字符串拼接成一个字符串,作为print的一个参数,用逗号是给print多个参数,这多个参数可以 ...

那以后都用,不就好了用+号反而会麻烦一些
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-22 22:09:42 | 显示全部楼层
无情老兔兔 发表于 2018-2-22 22:07
那以后都用,不就好了用+号反而会麻烦一些

有一点要注意,用逗号时缺省在每个参数之间会加上一个空格,如果不要需在最后加上参数 sep = ''
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-22 23:05:54 | 显示全部楼层
冬雪雪冬 发表于 2018-2-22 22:09
有一点要注意,用逗号时缺省在每个参数之间会加上一个空格,如果不要需在最后加上参数 sep = ''

哦sep是什么还没学到,等回来学学估计就知道了、
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-22 23:52:02 | 显示全部楼层
°蓝鲤歌蓝 发表于 2018-2-22 21:23
这一句已经将字符类型的 temp 转换成整型的 year 了。
所以你下面 year + '闰年' 是两个类型不一样的对 ...

您这个说法不对哦,temp还是字符串不是整形,应该是可以拼接的。

做了一些测试:
1. 直接在shell中测试:
  1. >>> temp = '100'
  2. >>> type(temp)
  3. <class 'str'>
  4. >>> year = int(temp)
  5. >>> type(year)
  6. <class 'int'>
  7. >>> type(temp)
  8. <class 'str'>
复制代码


2. 编了一个小程序:
  1. temp = input('输入数字进行测试:')

  2. print(type(temp))

  3. year = int(temp)

  4. print(type(year))
  5. print(type(temp))
复制代码

运行结果如下:
  1. 输入数字进行测试:50
  2. <class 'str'>
  3. <class 'int'>
  4. <class 'str'>
复制代码


以此证明,楼主此时的temp为str,按道理是可以和字符串拼接的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-23 00:19:30 | 显示全部楼层
linzhengren90 发表于 2018-2-22 23:52
您这个说法不对哦,temp还是字符串不是整形,应该是可以拼接的。

做了一些测试:

他是year 与字符串进行连接,不是temp 与字符串进行连接。
temp 与字符串连接就不会报错了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-23 09:24:00 | 显示全部楼层
°蓝鲤歌蓝 发表于 2018-2-23 00:19
他是year 与字符串进行连接,不是temp 与字符串进行连接。
temp 与字符串连接就不会报错了。

哦,他代码写的是temp,报错写的是year
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-7 21:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表