試圖建立一個稅計算器邏輯的做法雙變量:for循環(稅計算器)
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)
這對我來說很有意義,當我看着它,但對於循環導致錯誤。我以前見過雙循環變量,但不記得如何去做。我以某種方式使用enumerate
或itertools
?
另外,我接受任何有關如何減少我在這裏的嵌套循環數的建議。我相信這是可行的。任何和所有的幫助,不勝感激。
爲了清楚起見,for n in range(i,i-(i+1)):
部分將計算該第一個區間的稅額括號。從本質上講,我正在計算間隔的時間間隔的每個美元的稅率,並將其添加到totalTaxes。效率不高,但這是我的全部。
順便說錯誤是ValueError: too many values to unpack
在設置「i」之前,您正在使用'tiers [i]'。 – Barmar
'對a,b in zip(iterable_a,iterable_b)'? –