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

Python狗年龄换算程序无法正常打印输出,请问如何修复?

代码错误点说明

  • 条件逻辑颠倒:原代码判断age>0时提示输入正数,逻辑完全错误,应该是当输入年龄小于等于0时才属于非法输入,触发提示
  • 语法使用错误:Python中else后不允许附加判断条件,要么直接删除后面的age>2判断,要么将else替换为elif
  • 缩进不符合规范:Python依靠缩进区分代码块,原代码中if语句、变量赋值行的缩进混乱,同一逻辑层级的代码必须保持一致的缩进量
  • 变量未定义风险:如果输入年龄为非正数,程序仅会打印提示,不会给dage变量赋值,原代码将dage打印逻辑放在所有分支外侧,不管输入合法不合法都会执行,会触发变量未定义的报错
  • 存在冗余调试代码:最后一行单独打印age的代码属于调试残留,不需要可直接删除

修正后可正常运行的代码(中文提示版)

age = int(input("你的狗今年多大了?"))

if age <= 0:
    print("请输入正整数")
elif age <= 2:
    dage = age * 10.5
    print("对应人类年龄是", dage, "岁")
else:
    dage = 21 + (age - 2) * 4
    print("对应人类年龄是", dage, "岁")

如果需要保留原英文提示,替换输入、输出语句里的字符串即可:

age = int(input("How old is your dog?"))

if age <= 0:
    print("Please input positive number")
elif age <= 2:
    dage = age * 10.5
    print("The dog is", dage, "years old in human age")
else:
    dage = 21 + (age - 2) * 4
    print("The dog is", dage, "years old in human age")

内容的提问来源于stack exchange,提问作者Alex Rice

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 03:36:01