鱼C论坛

 找回密码
 立即注册
查看: 568|回复: 6

[已解决]python003一个小问题

[复制链接]
发表于 2019-7-2 12:28:43 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 掌中老虎 于 2019-7-2 12:34 编辑

DaysPerYear=input("每年有多少天:")
HoursPerDay=input("每天有多少小时:")
MinutesPerHour=input("每小时有多少分钟:")
SecondsPerMinutes=input("每分钟有多少秒:")
num1=int(DaysPerYear)
num2=int(HoursPerDay)
num3=int(MinutesPerHour)
num4=int(SecondsPerMinutes)
answer=num1*num2*num3*num4
print(answer)

我的代码如果是这样可以正常运行,但如果我把最后print(answer)改成print("一年有"+answer)就报错,
错误代码Traceback (most recent call last):
  File "G:/python3.3.2/Save/草稿纸.py", line 10, in <module>
    print("一年有"+answer)
TypeError: Can't convert 'int' object to str implicitly
>>>
但是我之前类似代码可以正常运行
temp=input("请输入你的名字:")
print("你好,"+temp)
最佳答案
2019-7-2 12:31:27
本帖最后由 newu 于 2019-7-2 12:33 编辑

TypeError: Can't convert 'int' object to str implicitly,这个错误说answer不能隐式的转为字符串,那么我们加个str显式的转换下。

print("一年有"+str(answer))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-7-2 12:31:27 | 显示全部楼层    本楼为最佳答案   
本帖最后由 newu 于 2019-7-2 12:33 编辑

TypeError: Can't convert 'int' object to str implicitly,这个错误说answer不能隐式的转为字符串,那么我们加个str显式的转换下。

print("一年有"+str(answer))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-2 12:33:33 | 显示全部楼层
newu 发表于 2019-7-2 12:31
这一句:print('一年有"+answer),引号要配对哦,改为

额,不是这个问题,这个是我帖子上打错了,复制了您的代码后还是Traceback (most recent call last):
  File "G:\python3.3.2\Save\草稿纸.py", line 10, in <module>
    print("一年有"+answer)
TypeError: Can't convert 'int' object to str implicitly
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-2 12:34:59 | 显示全部楼层
掌中老虎 发表于 2019-7-2 12:33
额,不是这个问题,这个是我帖子上打错了,复制了您的代码后还是Traceback (most recent call last):
   ...

抱歉,修改过了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-2 12:36:04 | 显示全部楼层
newu 发表于 2019-7-2 12:31
TypeError: Can't convert 'int' object to str implicitly,这个错误说answer不能隐式的转为字符串,那么我 ...

哇大佬成功了,谢谢谢谢谢谢大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-2 12:38:49 | 显示全部楼层
掌中老虎 发表于 2019-7-2 12:36
哇大佬成功了,谢谢谢谢谢谢大佬

加油,不客气
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-2 14:50:33 | 显示全部楼层
print("一年有"+answer)

当answer为int类型时,如果是在java语言里面,将字符串和int类型进行拼接是可行的,因为java里面有自动装箱拆箱
而python不行,因为你类型不一致,所以你必须将int类型使用str内置函数转换为str类型才能拼接

而temp=input("请输入你的名字:")
print("你好,"+temp)

这个可以,是因为你输入的就是字符串啊,所以字符串与字符串拼接就没报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 23:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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