尝试为逻辑实践创建税务计算器:
import sys
marital = sys.argv[1]
salary = sys.argv[2]
totalTaxes = 0
if marital == "single":
tiers = [415050,413350,190150,91150,37650,9275]
taxrates = [.35,.33,.28,.25,.15,.10]
if salary > tiers[i]:
for i, j in tiers, taxrates:
for n in range(i-(i+1)):
while n > tiers[i]:
totalTaxes += (n * .35)
当我查看它时,这对我来说是有意义的,但是for循环导致了一个错误。我以前见过双变量for循环,但不记得怎么做了。我是否以某种方式使用enumerate
或itertools
?你知道吗
另外,我愿意接受任何关于如何减少嵌套循环数量的建议。我相信那是可行的。非常感谢您的帮助。你知道吗
为清楚起见,for n in range(i,i-(i+1)):
部分是计算第一个时间间隔的税率等级。本质上,我是在计算区间内每一美元的税率,然后把它加到总税率中。效率不高,但我只有这些。你知道吗
顺便说一下,错误是ValueError: too many values to unpack
for循环的主要问题是您误用了它。
For i in a_list
将迭代a_list
中的每个项,并将项值填充到i(而不是索引)。另外,如果要在for循环中将两个列表组合在一起,应该使用zip
。你知道吗我不知道你在for循环里面做什么。
range(i-(i+1))
与range(-1)
相同,这意味着程序永远不会运行while循环。你的逻辑是什么?你知道吗相关问题 更多 >
编程相关推荐