第二题:公司发奖金:按照利润区间来规定提成比例,从键盘输入当月利润I,求应发放奖金总数

第二题:公司发奖金:利润(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,求应发放奖金总数


 方法一:用多重if elif来循环实现

for n in range(10 ):#循环,可以连续输入10次

    i=int(raw_input("利润:"))
    if i<=0:
        print"无奖金"
    elif i<=10:
        award=i*0.1
    elif (i>10) and (i<20):
        award=10*0.1+(i-10)*0.075
    elif i>20 and i<40:
        award=10*0.1+10*0.75+(i-20)*0.05
    elif i>40 and i<60:
        award=10*0.1+10*0.75+20*0.05+(i-40)*0.03
    elif i>60 and i<100:
        award=10*0.1+10*0.05+20*0.05+20*0.03+(i-60)*0.015
    else:
        award=10*0.1+10*0.05+20*0.05+20*0.03+40*0.015+(i-100)*0.001

    print award

方法二:把数据放到一个列表中,两个列表中的各数是对应的

i=int(raw_input("净利润:"))
array=[1000000,600000,400000,200000,100000,0]
rate=[0.01,0.015,0.03,0.05,0.075,0.1]
r=0
for idx in range(6):
    if i>array[idx]:#此处就把利润分了等级,第一部分小于array[idx]的,第二部分小于array[idx-1]大于array[idx]的,下面就直接计算出第二部分得到的奖金,而第一部分还要进行循环,直到i>array[5]即利润在0到100000之间
        r+=(i-array[idx])*rate[idx]#比如12万:此处计算2万的
        i=array[idx]#比如12万的,此处i=10万,接着判断i>array[idx]
print r

还没有发现什么别的好方法,有不一样的同学们,可以留言一起交流,学习




  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值