Reputation: 71
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
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
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