2016-09-28 53 views
0

税计算器语法错误,如果... ELIF ......否则

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() 

当我删除或添加语句的语法错误似乎跳来跳去。

+0

你的意思的问题,如果你删除一个elif语句的语法错误不再位于第一个else语句的前面? – sabbahillel

回答

1

在它周围的行快速浏览,显示丢失的圆括号

... 
    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: 
... 

这可能是所有它,除非拷贝+粘贴到失败