题目6:企业发放的奖金根据利润(I)的多少来提成

博客围绕企业奖金根据利润提成的问题展开,给出了不同利润区间的提成规则。从键盘输入当月利润,需计算应发放的奖金总数,并提供了暴力破解等解法,使用Python语言实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目6:企业发放的奖金根据利润(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,求应发放奖金总数?

解法1:暴力破解

def profit(pf):
    """
    """
    if pf<=10:
        bonus = 0.1*pf
        
    elif pf>10 and pf<=20:
        bonus = 0.1*10 + 0.075*(pf-10)
        
    elif pf>20 and pf<=40:
        bonus = 0.1*10+0.075*10+0.05*(pf-20)
        
    elif pf>40 and pf<=60:
        bonus = 0.1*10+0.075*10+0.05*20+0.03*(pf-40)
        
    elif pf>60 and pf<=100:
        bonus = 0.1*10+0.075*10+0.05*20+0.03*20+0.015*(pf-60)
    else:
        bonus = 0.1*10+0.075*10+0.05*20+0.03*20+0.015*40+0.01*(pf-100)
    return bonus
if __name__=='__main__':
    pf=float(input("请输入当月利润(万元):"))
    print("应发放奖金总数:{}万元".format(profit(pf)))

解法2

def profit(money):
    """
    """
    bonus=0
    arra = [100,60,40,20,10,0]
    rat = [0.01,0.015,0.03,0.05,0.075,0.1]
    for i in range(len(arra)):
        if money>arra[i]:
            bonus += (money-arra[i])*rat[i]
            money = arra[i]
    
    return bonus
if __name__=='__main__':
    money=float(input("请输入当月利润(万元):"))
    print("应发放奖金总数:{}万元".format(profit(money)))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值