求用python计算个人所得税

img


求用比较简单的方式设计该程序,我之前用的if分支,每一个环节都用的笨办法,就是算出上一个环节的额,然后这一环节把它减掉。求还是用if分支结构,怎么能够看起来方便不那么繁琐呢?

def main():
# Python资料源码电子书白嫖君羊:708525271
    i = int(input('请输入当月的利润I(万元):'))
    if i <= 10:
        cash = i * 0.1
    elif 10 < i < 20:
        cash = (i - 10) * 0.075 + 10 * 0.1
    elif 20 <= i <= 40:
        cash = (i - 20) * 0.05 + 10 * 0.075 + 10 * 0.1
    elif 40 <= i <= 60:
        cash = (i - 40) * 0.05 + 20 * 0.05 + 10 * 0.075 + 10 * 0.1
    elif 60 <= i <= 100:
        cash = (i - 60) * 0.015 + 20 * 0.03 + 20 * 0.05 + 10 * 0.075 + 10 * 0.1
    elif 100 <= i:
        cash = (
            i - 100
        ) * 0.01 + 40 * 0.015 + 20 * 0.03 + 20 * 0.05 + 10 * 0.075 + 10 * 0.1
    else:
        print('输入有误')
    print('可得奖金(万元)', cash)

以下内容部分参考ChatGPT模型:


首先,我们需要了解个人所得税的计算方法。根据中国税法规定,个人所得税的计算公式为:

应纳税所得额 = 税前收入 - 各种扣除 - 起征点

应纳税额 = 应纳税所得额 × 税率 - 速算扣除数

其中,起征点为5000元,税率和速算扣除数根据应纳税所得额的不同而不同。具体来说,应纳税所得额分为以下7个档次:

  1. 不超过36000元的部分,税率3%,速算扣除数0元;
  2. 超过36000元至144000元的部分,税率10%,速算扣除数2520元;
  3. 超过144000元至300000元的部分,税率20%,速算扣除数16920元;
  4. 超过300000元至420000元的部分,税率25%,速算扣除数31920元;
  5. 超过420000元至660000元的部分,税率30%,速算扣除数52920元;
  6. 超过660000元至960000元的部分,税率35%,速算扣除数85920元;
  7. 超过960000元的部分,税率45%,速算扣除数181920元。

根据这些信息,我们可以编写一个比较简单的个人所得税计算程序。以下是一个示例代码:

def calc_income_tax(income):
    deductions = 5000  # 起征点
    tax_rates = [0.03, 0.1, 0.2, 0.25, 0.3, 0.35, 0.45]  # 税率
    quick_deductions = [0, 2520, 16920, 31920, 52920, 85920, 181920]  # 速算扣除数
    taxable_income = income - deductions  # 应纳税所得额
    if taxable_income <= 0:
        return 0
    for i in range(len(tax_rates)):
        if taxable_income <= (i+1) * 36000:
            tax = taxable_income * tax_rates[i] - quick_deductions[i]
            return tax
    return 0

这个程序使用了一个for循环和几个if语句来计算个人所得税。首先,我们计算出应纳税所得额(即税前收入减去各种扣除和起征点),如果应纳税所得额小于等于0,说明不需要缴纳个人所得税,直接返回0。然后,我们使用一个for循环来查找应纳税所得额所在的档次,计算出应缴纳的税额并返回。如果应纳税所得额超过了最高档次,直接返回0。

这个程序的优点是比较简洁,使用了一个for循环和几个if语句来计算个人所得税,代码量比较少,易于理解和维护。


如果我的建议对您有帮助、请点击采纳、祝您生活愉快