<p>我对python非常陌生,所以如果这个问题很简单,我很抱歉。我正在尝试编写一个算法,根据用户输入的工资计算2017年和2018年的工资差异。我已经到了这样一个地步,算法确实计算了一个税率,但是它似乎是逆向的,也就是说,投入的收入越低,欠的税就越高,这是政府尽管有缺陷,但通常不会做的事情。我尝试了不同的算法,但我仍然不知道我哪里出错了。如有任何意见或建议,我们将不胜感激。
谢谢!你知道吗</p>
<pre><code># of tax brackets
levels = 6
#2017 tax rates
rates2017 = [0, 10, 15, 25, 28, 33, 35]
#2018 tax rates
rates2018 = []
#2017 income tax thresholds
incomes2017 = [0, 9325, 37950, 91900, 191650, 416700, 418400]
# take in a value for net income and assign it to int
netincome = int(input('Please input an integer for income: '))
#initialize the variables used
tax_owed = 0
taxable_income = 0
netincomeleft = netincome - 6500
i = levels
#while loop calculates the income tax
while i >= 0:
taxable_income = netincomeleft - incomes2017[i]
tax_owed += taxable_income * (rates2017[i]/100)
netincomeleft = incomes2017[i]
i -= 1
#multiply tax owed by -1 to get a positive int for clarity
taxes_owed = tax_owed * -1
# print out the 2017 tax owed
print('tax owed on $', netincome, 'after standard deduction is ', taxes_owed)
</code></pre>
<p>*为了清晰起见,我在Jupyter笔记本环境中使用python3</p>