用于计算正常工时与倒班工资的Python代码无法运行是什么原因?
Python薪资计算代码修复方案
原代码存在的问题
- 语法结构错误:
Total_gross =后直接接if判断不符合Python赋值语法,且return关键字仅可在函数内部使用,普通代码块中使用会直接抛出语法错误 - 缩进不规范:Python强制要求代码块缩进一致,原代码中if、else分支的缩进混乱,无法正常运行
- 无效代码&未定义变量:else分支下第二行
return hourly_wage *normal_hours属于永远不会执行的死代码,且hourly_wage变量从未定义,运行会抛出变量不存在错误 - 变量名不匹配:最后打印语句中使用的
pay变量未定义,前文只定义了Total_gross变量 - 多余符号错误:if分支的计算公式末尾多写了英文句号,属于语法错误
修复后可运行代码
# 输入参数采集 hourly_rate = float(input("请输入时薪: ")) normal_hours = float(input("请输入正常工作时长: ")) shift_hours = float(input("请输入倒班时长: ")) # 薪资计算逻辑 if shift_hours >= 1: total_gross = (hourly_rate * normal_hours) + (0.125 * hourly_rate * shift_hours) else: total_gross = hourly_rate * normal_hours # 无倒班时按正常薪资计算 # 结果输出 print(f"总薪资: {total_gross:.2f} ")
逻辑说明
倒班时长大于等于1小时的情况下,会在正常薪资基础上额外发放12.5%的倒班补贴,无倒班则直接按正常工时计算薪资,最终结果保留两位小数输出。
内容的提问来源于stack exchange,提问作者CWoolford
相关产品推荐
相关产品推荐

