原来使用Python是这样算出个人所得税的
# 定义一个扣除保险、住房公积金、各项专项扣除后的自定义函数
def tax_salary_basic():
# 定义一个变量salary_pre,用来存放税前薪资
salary_pre = float(input('请输入你的税前薪资: '))
# 定义一个变量insurance_amount,用来存放扣除保险金额
insurance_amount = float(input('请输入你的保险扣除金额: '))
# 定义一个变量housing_fund,用来存放需要扣除的住房公积金
housing_fund = float(input('请输入你的住房公积金扣除金额: '))
# 定义一个变量special_deduction_amount,用来存放需要扣除的专项金额,如教育金额
special_deduction_amount = float(input('请输入你的专项扣除金额: '))
# 因为需要5000起才开始算税,所以需要扣除保险、住房公积金、专项金额后,还需要扣除一个5000,
# 得到算个人所得税的起点值
tax_salary_basic = salary_pre - insurance_amount - housing_fund - special_deduction_amount - 5000
# 返回征税部分的薪资
return tax_salary_basic
# 定义一个扣税的函数,需要输入征税部分的薪资 def personal_income_tax(tax_salary_basic): # 定义一个空数组,用来存放每个月的扣税金额 tax_all = [] # 循环12个月 for i in range(1,13): # 假如每个月的工资不变,则需要算当年到扣税当月的累计收入 tax_salary_year = tax_salary_basic * i # 假如当前累计超出需要计算税收的薪资介于0~36000元,需要交税3% if 0 < tax_salary_year <= 36000: tax_split = tax_salary_year * 0.03 # 当前累计需要计算税收的薪资介于36000~144000元,则交税10%,同时扣除2520的速算扣除数 elif 36000 < tax_salary_year <= 144000: tax_split = tax_salary_year * 0.10 - 2520 # 其他依次类推 elif 144000 < tax_salary_year <= 300000: tax_split = tax_salary_year * 0.20 - 16920 elif 300000 < tax_salary_year <= 420000: tax_split = tax_salary_year * 0.25 - 31920 elif 420000 < tax_salary_year <= 660000: tax_split = tax_salary_year * 0.30 - 52920 elif 660000 < tax_salary_year <= 960000: tax_split = tax_salary_year * 0.35 - 85920 elif tax_salary_year > 960000: tax_split = tax_salary_year * 0.45 - 181920 else: tax_split = 0 # 最后将每个月所需要交累计税添加到tax_all数组里面 tax_all.append(tax_split) print('每个月累计的税为: ',tax_all) # 定义一个空数组,用来存放每个月所需要交的税 personal_income_tax = [] # 循环tax_all里面的数据长度 for i in range(len(tax_all)): # 如果长度为0,则该月的税为tax_all里面第一个数据;否则,该月的个人所得税为当月累计税减去上月累计税 if i == 0: tax_monthly = tax_all[0] else: tax_monthly = tax_all[i] - tax_all[i - 1] # 将各个月所需要交的个人所得税添加到personal_income_tax数组 personal_income_tax.append(tax_monthly) # 返回各个月的所需要交的个人所得税 print('Month %s: %s' % ((i + 1), tax_monthly)) # 返回每个月个人所得税的列表 return personal_income_tax
# 将tax_salary_basic()函数赋值给tax_salary_basic,得到需要计税部分的金额
tax_salary_basic = tax_salary_basic()
# 将personal_income_tax函数赋值给tax_yearly,得到各个月份所需要交的税
tax_yearly = personal_income_tax(tax_salary_basic)
THE END
0
二维码
海报
原来使用Python是这样算出个人所得税的
自从2019年进行新的个人所得税改革后,现在每个月交个人所得税的都不一样,一般都是前面交得少,然后到后面逐渐增多,到最后一个月,不少高薪人士会很吃惊自……