2015-10-18 66 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

相关问题