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
相关产品推荐
相关产品推荐

