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

如何用Python计算员工周薪?新手求助修正代码错误

Python员工周薪计算代码修正

你的代码里存在语法和逻辑问题,下面是修正方案及问题说明:

原代码的问题点:

  • 输入类型错误:将用户输入转为字符串str,无法和数字做大小比较,需转为整数int或浮点数float
  • if语句语法缺失:Python中if条件后必须加冒号:,否则会触发语法错误
  • 缩进错误:最后一行print的缩进位置不对,未与对应代码块对齐
  • 变量未定义风险:若工作时长≤40小时,reg_salary变量未定义,执行print会报错;第一个if块的salary也没有输出逻辑

修正后的代码:

# 将输入转为整数,支持整数小时计算(若需小数小时可改为float)
work_hours = int(input('Enter hours worked: '))

total_salary = 0

if work_hours <= 40:
    total_salary = 20 * work_hours
else:
    # 拆分正常薪资和加班薪资,逻辑更清晰
    regular_pay = 20 * 40
    overtime_pay = 30 * (work_hours - 40)
    total_salary = regular_pay + overtime_pay

# 统一输出计算结果
print(total_salary)

修正说明:

  1. 输入转为int确保能和数字进行比较,若需支持半工时(如42.5小时),可替换为float(input(...))
  2. 用if-else替代两个独立if,避免重复判断,逻辑更严谨
  3. 统一使用total_salary存储结果,无论哪种情况都能正常输出
  4. 保持代码块缩进一致(Python用缩进区分代码块,通常为4个空格)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 04:43:10