某企业发放的奖金是根据利润和提成计算的,其规则如表1所示。
表1 奖金发放规则
利润(万元) |
奖金提成(%) |
I≤10 |
10% |
10<I≤20 |
7.5% |
20<I≤20 |
5% |
10<I≤40 |
3% |
40<I≤60 |
1.5% |
60<I≤100 |
1% |
本实例要求编写程序,实现快速计算员工应得奖金的功能。
奖金的薪酬提成与员工产生的利润有直接关系,根据上表可知,该企业将利润提成分为6个档次,不同的档次奖金提成不同,因此可使用Python中条件分支结构来实现该案例。
例如,某个员工的利润为21万元,其奖金计算规则为100000 * 10% + 100000 * 7.5% + 10000 * 5%。
profit = float(input("请输入当月利润,单位为元:"))
bonus = 0
if profit <= 100000:
bonus = 10 * 0.1
elif 100000 < profit <= 200000:
bonus = 100000 * 0.1 + (profit - 100000) * 0.075
elif 200000 < profit <= 400000:
bonus = round(100000 * 0.1 + 100000 * 0.075 +
(profit - 200000) * 0.05)
elif 400000 < profit <= 600000:
bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + \
(profit - 400000) * 0.03
elif 600000 < profit <= 1000000:
bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + \
200000 * 0.03 + (profit - 600000) * 0.015
elif profit > 1000000:
bonus = 100000 * 0.1 + 100000 * 0.075 + \
200000 * 0.05 + 200000 * 0.03 + \
400000 * 0.015 + (profit - 1000000) * 0.015
print('当月应发放奖金总数为%s元' % bonus)
以上代码首先使用input()函数将接收输入的利润金额转换为float类型,并赋值给变量profit,然后根据变量profit的值按照上表中奖金发放规则进行不同的计算,最后将计算结果使用print()函数进行输出。
运行代码,控制台输出结果如下:
请输入当月利润,单位为元:210000
当月应发放奖金总数为18000元