python学习02:利润计算

#!/usr/bin/python
# -*- coding: utf-8 -*-

'''
企业发放的奖金根据利润提成。
利润(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,求应发放奖金总数?
'''
from getpass import _raw_input




'''
if和elif加递归
'''
def test1(i):
    r=0;
    if i<=100000:
        r=i*0.1
    elif 100000<i<=200000:   
        r=(i-100000)*0.075+test1(100000)
    elif 200000<i<=400000:   
        r=(i-200000)*0.05+test1(200000)   
    elif 400000<i<=600000:   
        r=(i-400000)*0.03+test1(400000)
    elif 600000<i<=1000000:   
        r=(i-600000)*0.015+test1(600000) 
    elif 1000000<i:   
        r=(i-1000000)*0.01+test1(1000000)
    
    return r
    
'''
不递归
'''
def test2(i):
    r=0;
    if i<=100000:
        r=i*0.1
    elif 100000<i<=200000:   
        r=(i-100000)*0.075+100000*0.1
    elif 200000<i<=400000:   
        r=(i-200000)*0.05+100000*0.075+100000*0.1 
    elif 400000<i<=600000:   
        r=(i-400000)*0.03+200000*0.05+100000*0.075+100000*0.1
    elif 600000<i<=1000000:   
        r=(i-600000)*0.015+200000*0.03+200000*0.05+100000*0.075+100000*0.1
    elif 1000000<i:   
        r=(i-1000000)*0.01+400000*0.015+200000*0.03+200000*0.05+100000*0.075+100000*0.1
    
    return r 
i = int(_raw_input("利润:"))


'''
for循环
'''
def test3(i):
    arr=[1000000,600000,400000,200000,100000,0];
    rat=[0.01,0.015,0.03,0.05,0.075,0.1]
    r=0;
    for k in range(len(arr)):
        if(i>arr[k]):
            r+=(i-arr[k])*rat[k]
           # print(arr[k],r)
            i=arr[k]
            
    return r
print(test1(i))
print(test2(i))
print(test3(i))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值