要求:
企业根据利润发放奖金,规则如下:
利润低于或等于10万元时,奖金可提10%;
10万到20万之间时,高于10万元的部分,可提成7.5%:
20万到40万之间时,高于20万元的部分,可提成5%;
40万到60万之间时,高于40万元的部分,可提成3%;
60万到100万之间时,高于60万元的部分,可提成1.5%;
高于100万元时,超过100万元的部分按1%提成。
从键盘输入利润,求应发放奖金总数?
代码和注释呈上:
def calculate(profit):
"""
计算利润对应的奖金数额。
参数:
profit: int, 利润金额。
返回值:
float, 奖金数额。
"""
bonus = 0 # 初始化奖金为0
w = 10000 # 基准金额
# 设定利润阈值和对应的奖金税率
limit = [0, 10 * w, 20 * w, 40 * w, 60 * w, 100 * w]
rate = [0.1, 0.075, 0.05, 0.03, 0.015, 0.01]
# 从最高档开始遍历
start = len(limit) - 1
end = -1
for i in range(start, end, -1):
if profit > limit[i]:
# 计算当前档位的奖金并累加
bonus += (profit - limit[i]) * rate[i]
profit = limit[i] # 更新利润为当前档位的阈值
return bonus
p = int(input('请输入利润:')) # 从用户处接收利润金额
print(f'应发奖金为:{calculate(p)}') # 输出计算出的奖金数额
评论前必须登录!
注册