python计算税款

2.论述题
年终奖应缴纳税款计算:
年终奖小于或等于4万元时,按3%缴纳税款:
年终奖大于4万,小于或等于10万元时,4万元以下的按3%缴纳,超出4万的,按10%缴纳。
年终奖10万到20万之间时,4万元以下的按3%缴纳,4万到10万的按10%缴纳,高于10万元按20%缴纳。
年终奖20万以上时,4万元以下的按3%缴纳,4万到10万的按10%,10万到20万的按20%,高于20万元按50%缴纳。从键盘输入年终奖,求应缴纳税金?

我的代码。 不对,求解
nzj=input("请输入年终奖")
#总扣税
total_tax = 0
ks=0

def total_tax(nzj):
if 0<nzj<=40000:
cal_nzj=nzj0.03
else 40000<nzj<=100000
cal_nzj=40000
0.03+(nzj-40000)0.1
else 100000<nzj<=200000
cal_nzj=40000
0.03+(nzj-40000)*0.1+(nzj-100000)0.2
else 200000<nzj
cal_nzj=40000
0.03+(nzj-40000)*0.1+(nzj-100000)*0.2+(nzj-200000)*0.5
else:
cal_nzj=0

ks=nzj-cal_nzj

print("最终扣税:".format(ks))

nzj=input("请输入年终奖")
改成
nzj=float(input("请输入年终奖"))
input("请输入年终奖")读取的是字符串。要用int()或float()转成数值才行

你题目的解答代码如下:

nzj=float(input("请输入年终奖"))
#总扣税
ks=0

def total_tax(nzj):
    if 0<nzj<=40000:
        cal_nzj=nzj*0.03
    elif 40000<nzj<=100000:
        cal_nzj=40000*0.03+(nzj-40000)*0.1
    elif 100000<nzj<=200000:
        cal_nzj=400000.03+(nzj-40000)*0.1+(nzj-100000)*0.2
    elif 200000<nzj:
        cal_nzj=40000*0.03+(nzj-40000)*0.1+(nzj-100000)*0.2+(nzj-200000)*0.5
    else:
        cal_nzj=0
    return cal_nzj

ks=nzj-total_tax(nzj)
print("最终扣税:{}".format(ks))

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img