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

Python编写computepay薪资计算函数时出现bad input错误求助

问题排查

你代码存在3个核心错误,和变量定义、函数声明本身无关,是逻辑实现和return语句的问题:

  • 薪资计算规则错误:超过40小时的场景下,你仅计算了1.5倍费率,没有乘以超出的工时,正确计算逻辑为:总薪资 = 40*基础费率 + (总工时-40)*1.5*基础费率
  • return语句配置错误:当前return仅放在else分支下,当工时超过40时函数无返回值,会得到None;同时你返回的是字符串'p',而不是存储计算结果的变量p,返回类型不符合要求
  • 冗余类型转换:调用函数前你已经把h、r转成了float类型,函数内部不需要重复做float转换

修正后代码

def computepay(h,r):
    if h>40.0:
        p = 40 * r + (h - 40) * 1.5 * r
    else:
        p = h * r
    return p

hrs = input("Enter Hours:")
rate = input("Enter rate:")
h = float(hrs)
r = float(rate)
p = computepay(h,r)
print("Pay", p)

验证说明

输入测试参数45小时、10.5每小时费率时,输出结果为498.75,完全符合任务要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 01:00:02