You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python报错:无法隐式将int转为str,狮子年龄转换程序求助

解决你的狮子年龄转换程序问题

嘿,别慌!我来帮你搞定这个小问题😉

先搞懂报错根源

你遇到的 cant convert int object to "str" implicitly 错误,核心原因是字符串和整数不能直接用+拼接。在最后一行的print语句里,你把"Hello " + name + "! Your age is "这类字符串,和age、lionage这类整数直接连在一起,Python没办法自动把整数转成字符串,所以就报错啦。

另外你的代码里还有几个没必要的冗余操作,我也一起帮你捋出来:

  • 你已经用age = int(input("please type your age in: "))把输入转成整数了,后面又写age = int(age),这完全是多此一举,相当于把整数再转一次整数,毫无意义。
  • five = int(str(5))更是绕了大弯,直接写five = 5就好,没必要把数字5先转成字符串再转回整数。

修正后的完整代码

name = input("please type your name in: ")
age = int(input("please type your age in: "))
five = 5  # 直接用数字,不用来回折腾类型转换
lionage = age * five  # 整数相乘结果还是整数,不用额外转int
print(f"Hello {name}! Your age is {age} but in lion years you are {lionage}!")

为啥这么改?

  • 用了Python的f-string格式化字符串,直接在字符串里用{变量名}就能插入变量值,不管是字符串还是整数都能完美适配,既解决了拼接问题,代码还更简洁好读。
  • 删掉了所有冗余的类型转换,让代码逻辑更清爽。

如果你暂时不想用f-string,也可以手动把整数转成字符串来拼接,比如这样写print语句:

print("Hello " + name + "! Your age is " + str(age) + " but in lion years you are " + str(lionage) + "!")

不过显然f-string的写法更省心~

现在运行修改后的代码,应该就能正常输出啦!

内容的提问来源于stack exchange,提问作者Tamim Alsabbagh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:43:58