简体   繁体   中英

Calling variable from another function in python

I have defined these two functions and I need to call income and allowance in function 2 from the first function, basically I want to calculate the finalIncome in function 2 (that line of code is commented). Heres the code:

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

You just have to call personalAllowance and assign the return value to something.

For example:

income, allowance = personalAllowance()

Save references to those values and then subtract them:

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

Since you don't actually need the "income" or "allowance", instead of returning a tuple, just return the difference as shown where I have 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()

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM