2015-10-18 67 views
2

我已經定義這兩個功能,我需要從所述第一函數調用函數2收入和津貼,基本上我要計算的finalIncome在功能2(該行代碼被註釋) 。繼承人代碼:從另一個函數調用變量在python

def personalAllowance(): 
    income = int(input("Enter your annual salary: £")) 
    allowance = 10600 
    if(income>100000): 
     for i in range (100000, income): 
      if(income%2==0): 
       allowence = allowence - 0.5 
       if(allowence<0): 
        allowence = 0 
     print("Personal Allowance = " + str(allowence)) 
    else: 
     print("Personal Allowance = " + str(allowence)) 
    return (income , allowance) 


def incomeTax(): 
    print("\n") 
    #finalIncome = income - allowence 
    print(finalIncome) 
    taxBill = 0 
    if(finalIncome <= 31785): 
     taxBill = finalIncome * (20/100) 
    elif(finalIncome > 31785 and finalIncome < 150000): 
     taxBill = finalIncome * (40/100) 
    elif(finalIncome >= 150000): 
     taxBill = finalIncome * (45/100) 
    print (taxBill) 


incomeTax() 

回答

2

保存這些值的引用,然後減去他們:

income, allowance = personalAllowance() 
finalIncome = income - allowance 
+0

非常感謝隊友:) – user3926730

2

您只需撥打personalAllowance並將返回值分配給某物。

例如:

income, allowance = personalAllowance() 
+0

現在的作品。謝了哥們! – user3926730

1

既然你實際上並不需要的「收入」或「補貼」,而不是返回一個元組,只是返回差異顯示在我已經commetned

def personalAllowance(): 
     income = int(input("Enter your annual salary: £")) 
     allowance = 10600 
     if(income>100000): 
      for i in range (100000, income): 
       if(income%2==0): 
        allowence = allowence - 0.5 
        if(allowence<0): 
         allowence = 0 
      print("Personal Allowance = " + str(allowence)) 
     else: 
      print("Personal Allowance = " + str(allowence)) 
     return income - allowance ## Just return the difference 



def incomeTax(): 
    print("\n") 
    finalIncome = personalAllowance() ## This will return difference 
    print(finalIncome) 
    taxBill = 0 
    if(finalIncome <= 31785): 
     taxBill = finalIncome * (20/100) 
    elif(finalIncome > 31785 and finalIncome < 150000): 
     taxBill = finalIncome * (40/100) 
    elif(finalIncome >= 150000): 
     taxBill = finalIncome * (45/100) 
    print (taxBill) 


incomeTax() 
+0

事情是我必須做其他的計算以及其他功能,但對於這一點,它工作正常。謝謝! – user3926730

相關問題