Bobby Martins
Bobby Martins

Reputation: 71

How to use a value in one function in another function

Pretty much I am trying to use the user inputs gotten in the sales function in the addVat function

Sales_Figures = []

def sales():
    num = int((input("Please enter sales figures: ")))
    Sales_Figures = [num]
    while num != -1:
        num = int(input("Please enter sales figures: "))
        Sales_Figures.append(num)

    print("The sales figures entered were:", end=" ")
    for num in Sales_Figures:
        if num != -1:
            print(num, end=", ")

    print("The sales figures including VAT are")
    return Sales_Figures

def addVat():

sales()

Upvotes: 0

Views: 101

Answers (2)

Sheri
Sheri

Reputation: 1413

You can simply put return parameter of sales() function in a variable and then pass it to addVat()

Sales_Figures = []

def sales():
    while num != -1:
        num = int(input("Please enter sales figures: "))
        Sales_Figures.append(num)

    print("The sales figures entered were:", end=" ")
    for num in Sales_Figures:
        if num != -1:
            print(num, end=", ")

    print("The sales figures including VAT are")
    return Sales_Figures
saleFigures= sales()
def addVat(saleFigures):

Upvotes: 1

Ofer Rahat
Ofer Rahat

Reputation: 868

The problem with the given code snippet is that you override Sales_Figures. You can either remove the second line:

Sales_Figures = [num]

That is, define your method as follows (in this solution you don't need to return the list, as it is defined outside):

def sales():
    num = 0
    while num != -1:
        num = int(input("Please enter sales figures: "))
        Sales_Figures.append(num)

    print("The sales figures entered were:", end=" ")
    for num in Sales_Figures:
        if num != -1:
            print(num, end=", ")

    print("The sales figures including VAT are")

Alternatively you can define Sales_Figures inside the method and the return it:

def sales():
    num = 0
    Sales_Figures = []
    while num != -1:
        num = int(input("Please enter sales figures: "))
        Sales_Figures.append(num)

    print("The sales figures entered were:", end=" ")
    for num in Sales_Figures:
        if num != -1:
            print(num, end=", ")

    print("The sales figures including VAT are")
    return Sales_Figures

As you now invoke the method, use the return value

Sales_Figures = sales()

Finally, VAT_RATE = 1.05 def addVat(s): return [VAT_RATE*x for x in s]

addVat(Sales_Figures)

Upvotes: 0

Related Questions