2016-09-28 2 views
0

SteuerrechnerSyntaxfehler in der if ... elif ... sonst

def computeTax(maritalStatus,userIncome): 
    if maritalStatus == "Single": 
    print("User is single") 
    if userIncome <= 9075: 
     tax = (.10) * (userIncome) 
    elif userIncome <= 36900: 
     tax = 907.50 + ((.15) * (userIncome - 9075)) 
    elif userIncome <= 89350: 
     tax = 5081.25 + ((.25) * (userIncome - 36900)) 
    elif userIncome <= 186350: 
     tax = 18193.75 + ((.28) * (userIncome - 89350)) 
    elif userIncome <= 405100: 
     tax = 45353.75 + ((.33) * (userIncome - 186350)) 
    elif userIncome <= 406750: 
     tax = 117541.25 + ((.35) * (userIncome - (405100) 
    else:           # getting syntax error here 
     tax = 118118.75 + ((.396) * (userIncome - (406750)) 
    return tax 
    else: 
    return "placeholder" 

def main(): 
    maritalStatusMain = input("Please enter your marital status (Single or Married)") 
    userIncomeMain = float(input("Please enter your annual income")) 
    finalTax = computeTax(maritalStatusMain,userIncomeMain) 
    print(finalTax) 
main() 

Wenn ich entfernen oder hinzufügen Aussagen der Syntaxfehler um zu springen scheint.

+0

gescheitert fügen Sie meinen, wenn Sie einen entfernen Ist der Syntaxfehler der elif-Anweisungen nicht mehr vor der ersten else-Anweisung? – sabbahillel

Antwort

1

Ein kurzer Blick auf die Linien um ihn herum, zeigt eine fehlende Klammer

... 
    tax = 45353.75 + ((.33) * (userIncome - 186350)) # <- two ending parens 
elif userIncome <= 406750: 
    tax = 117541.25 + ((.35) * (userIncome - (405100) # <- one ending paren, plus extra paren around 405100 
else: 
... 

, die wahrscheinlich ist alles, es ist, es sei denn, die Kopie + in die Frage