我有一个FUNC calculate_tax应该采取名字:薪酬对作为一个参数,计算则纳税申报名字的字典:total_tax对但是,似乎并没有正确计算税收。我可能做错了什么?下面是代码:传递一个字典功能,操纵值并返回一个字典
def calculate_tax(**data):
for key in data:
if data[key] > 0 and data[key] <= 1000:
data[key] = 0
elif data[key] > 1000 and data[key] <= 10000:
data[key] += (data[key]-1000)*0.1
elif data[key] > 10000 and data[key] <= 20200:
data[key] += (data[key]-10000)*0.15
elif data[key] > 20200 and data[key] <= 30750:
data[key] += (data[key]-20200)*0.2
elif data[key] > 30750 and data[key] <= 50000:
data[key] += (data[key]-30750)*0.25
elif data[key] > 50000:
data[key] += (data[key]-50000)*0.3
return data
的税率是:
Yearly Income: 0 - 1000
Tax Rate: 0%
Yearly Income: 1,001 - 10,000
Tax Rate: 10%
Yearly Income: 10,001 - 20,200
Tax Rate: 15%
Yearly Income: 20,201 - 30,750
Tax Rate: 20%
Yearly Income: 30,751 - 50,000
Tax Rate: 25%
Yearly Income: Over 50,000
Tax Rate: 30%
例如,假设当:
{'Ken':500,'Patrick':20500,'Winnie':70000}
它应该返回帕特里克税2490
我得到的结果是:{'Patrick':20560.0,'Ken':0,'Winnie':76000.0}这似乎是错误的 – Hillux
'帕特里克':20500 - 它应该返回帕特里克税为2490' - 为什么?这将是'20500 +(20500 - 20200)* 0.2 = 2560' –
@Hillux可以提供您想要使用数学表达式计算税款的方式吗?您错过了操作顺序优先顺序。 – direprobs