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

编写调查问卷Python程序时年龄计算功能异常,请问代码哪里有问题

代码问题排查及修复

你提供的代码运行报错的核心原因是类型不匹配,具体问题和修复方案如下:

存在的问题

  • 你已经将birth和year两个输入值转换为整数类型,二者相减得到的年龄结果本身就是整数,不需要额外套int()做二次转换
  • Python不支持整数和字符串直接用+拼接,你把计算得到的年龄(整数)和后半段提示文本(字符串)直接相加就会触发类型报错,导致程序无法运行

修复后的代码

有两种常用修复方案,你可以按需选择,已经将原英文提示翻译为中文:

方案1:手动转换年龄类型后拼接

如果要保留原代码的拼接逻辑,只需要把年龄计算结果转成字符串即可:

birth = int(input('你出生的年份是?'))
year = int(input('今年是哪一年?'))
print(str(year - birth) + ' 就是你的年龄')

方案2:使用f-string格式化输出(更推荐)

不需要手动处理类型转换,写法更简洁易读:

birth = int(input('你出生的年份是?'))
year = int(input('今年是哪一年?'))
print(f'{year - birth} 就是你的年龄')

可选优化提示

当前的计算逻辑只能得到近似周岁,如果你需要更精准的年龄结果,可以补充收集用户的出生月日,和当前日期对比后再调整年龄数值。

内容的提问来源于stack exchange,提问作者Apollo May

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 02:45:05