Java教程

个税计算

本文主要是介绍个税计算,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

问题描述

【个税计算】企业发放的奖金根据利润提成。利润(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-

 

解决方法

  1. 用if-elif-else的方法,很常规的方法。就直接给代码。

    l = int(input ('请输入l(万元):')) 
    if l <= 10:
        x = l * 0.10
        print (x)
    elif l <=  20:
        x = 10 *0.1 + (l - 10) * 0.075
        print (x)
    elif l <= 40:
        x = 10 * 0.1 + 10 * 0.075 + (l - 20 ) * 0.05
        print(x)
    elif l <= 60:
        x = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + (l - 40) * 0.03
        print(x)
    elif l <= 100:
        x = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 20 * 0.03 + (l - 60) * 0.15
        print(x)
    else:
        x = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 20 * 0.03 + 40 * 0.15 + (l - 100)* 0.01
        print(x)
    • 刚开始的时候是出现的这种错误,第一行当时写的是 l = input ('请输入l(万元):'),是因为input返回的是str型,不能和int型直接比较。所以要int(),将str转化为int。

  2. 用列表的方法,很巧妙的方法。借鉴的方法,越看越能感受到它的巧妙之处。

    def getBonus_2(I):
        I = I/10000     #简化运算
        bonus = 0
        rates = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1]
        stra = [100, 60, 40, 20, 10, 0]
        for i in range(len(rates)):   # len(rates)= 6 i:0,1,2,3,4,5,
            if(I > stra[i]):
                bonus += (I - stra[i])*rates[i]
                I = stra[i]
        return bonus*10000
    ​
    ​
    profit = eval(input("请输入利润值:"))
    print("您所获的金额是{0:.0f}元".format(getBonus_2(profit)))

    定义两个列表rates,star。rates用来表示每一部分的提成的百分比,star表示不同阶段的利润的分界点。而且star与rates要一一对应。当输入65的时候:

    65 < 100,继续向下比较,

    65 > 60, bouns = ( 65 - 60) * 0.015, I = 60 ;

    60 > 40 , bouns = (60 - 40) * 0.03 + ( 65 - 60) * 0.015, I = 40;

    40 > 20 , bouns = (40 - 20 ) * 0.05 + (60 - 40) * 0.03 + ( 65 - 60) * 0.015, I = 20

    20 > 10 , bouns = (20 - 10) * 0.075 + (40 - 20 ) * 0.05 + (60 - 40) * 0.03 + ( 65 - 60) * 0.015, I = 10

    10 > 0 , bouns = (10 - 0) * 0.1 + (20 - 10) * 0.075 + (40 - 20 ) * 0.05 + (60 - 40) * 0.03 + ( 65 - 60) * 0.015, I = 0

    大概过程就是这样。

     

这篇关于个税计算的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!