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

Python3新手if/else报错求助:服务年限计算奖金代码纠错

Python3 奖金计算代码修复

问题需求

某公司规定,若员工服务年限超过5年,将发放工资额5%的奖金。需要编写程序,让用户输入工资和服务年限,输出净奖金金额。

原代码错误点

  • 输入值未做类型转换:Python3中input()函数的返回值默认为字符串类型,原代码直接用字符串类型的服务年限和整数5比较、用字符串类型的工资做乘法运算,都会触发类型错误。
  • print函数语法错误:Python3中print()是内置函数,所有待输出内容需要放在函数括号内,原代码print ("bonus is"),0.05*salary的写法仅会打印"bonus is",奖金计算结果不会被输出。

修正后代码

# 获取用户输入并转换为对应数值类型
salary = float(input("enter salary: "))
yos = int(input("enter year of service: "))

if yos > 5:
    print(f"bonus is {0.05 * salary}")
else:
    print("no bonus")

如果需要统一保留两位小数输出奖金,可将对应print语句修改为:

print(f"bonus is {0.05 * salary:.2f}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 21:12:04