这道题怎么做
企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?本帖最后由 jackz007 于 2022-9-30 21:44 编辑
i = int(input('请输入利润金额 (单位:万元) :'))
if i <= 10:
k = i * 0.1
elif 10 < i <= 20:
k = 10 * 0.1 + (i - 10) * 0.075
elif 20 < i <= 40:
k = 10 * 0.1 + 10 * 0.075 + (i - 20) * 0.05
elif 40 < i <= 60:
k = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + (i - 40) * 0.03
elif 60 < i <= 100:
k = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 20 * 0.03 + (i - 60) * 0.015
else:
k = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 20 * 0.03 + 40 * 0.015 + (i - 100) * 0.01
print('应发奖金金额(单位:万元):%.4f' % k)
运行实况:
D:\\Python>python x.py
请输入利润金额 (单位:万元) :8
应发奖金金额(单位:万元):0.8000
D:\\Python>python x.py
请输入利润金额 (单位:万元) :10
应发奖金金额(单位:万元):1.0000
D:\\Python>python x.py
请输入利润金额 (单位:万元) :20
应发奖金金额(单位:万元):1.7500
D:\\Python>python x.py
请输入利润金额 (单位:万元) :30
应发奖金金额(单位:万元):2.2500
D:\\Python>python x.py
请输入利润金额 (单位:万元) :40
应发奖金金额(单位:万元):2.7500
D:\\Python>python x.py
请输入利润金额 (单位:万元) :50
应发奖金金额(单位:万元):3.0500
D:\\Python>python x.py
请输入利润金额 (单位:万元) :60
应发奖金金额(单位:万元):3.3500
D:\\Python>python x.py
请输入利润金额 (单位:万元) :70
应发奖金金额(单位:万元):3.5000
D:\\Python>python x.py
请输入利润金额 (单位:万元) :80
应发奖金金额(单位:万元):3.6500
D:\\Python>python x.py
请输入利润金额 (单位:万元) :90
应发奖金金额(单位:万元):3.8000
D:\\Python>python x.py
请输入利润金额 (单位:万元) :100
应发奖金金额(单位:万元):3.9500
D:\\Python>python x.py
请输入利润金额 (单位:万元) :110
应发奖金金额(单位:万元):4.0500
D:\\Python>python x.py
请输入利润金额 (单位:万元) :120
应发奖金金额(单位:万元):4.1500
D:\\Python>python x.py
请输入利润金额 (单位:万元) :150
应发奖金金额(单位:万元):4.4500
D:\\Python>python x.py
请输入利润金额 (单位:万元) :300
应发奖金金额(单位:万元):5.9500
D:\\Python> 试试这段代码吧:# 获取利润
i = int(input('>>> '))
# 新建一个字典,保存利润与对应的提成
# 键:利润,单位万元
# 值:提成
bonus = {
100: 0.01,
60: 0.015,
40: 0.03,
20: 0.05,
10: 0.075
}
p = 0# 默认提成为0
for k, v in bonus.items():
if i <= k:
continue
p += (i-k) * v# 超过k万元的部分按照v提成
i = k
p += i * 0.1# 利润小于等于10万
print(p)# 输出最终提成,单位万元 本帖最后由 PS的名字 于 2022-10-3 11:58 编辑
"""
利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元
的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的
部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,
高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成
"""
# 基础设置
while True:
try:
liyun = float(input("利润(万元):"))
break
except ValueError:
print("请输入数字!!\n")
continue
# 奖金测试
if liyun <= 10:
k = liyun * 0.1
elif 10 < liyun < 20:
k = 1 + 0.075 * (liyun - 10)
elif 20 < liyun < 40:
k = 1.075 + 0.05 * (liyun - 20)
elif 40 < liyun < 60:
k =2.075 + 0.03 * (liyun - 40)
elif 60 < liyun < 100:
k =2.675 + 0.015 * (liyun - 60)
elif 100 < liyun:
k =3.275 + 0.01 * (liyun - 100)
k = k * 1
if int(k) == k:
k = int(k)
else:
pass
# 结果输出
print(f"奖金为 {k} 万元")
页:
[1]