0
Why I am getting an error? What is the purpose of return here?
return is supposed to return a value from the function that can be used in the whole program right? Why is it not working? https://code.sololearn.com/cbts65Vuvq1j/?ref=app
10 Answers
+ 3
Logics Suker no, "return" stops the function and outputs the value to be assigned to the variable, as shown in the first example.āŗļø
+ 6
Logics Suker ,
this may claryfy the use of return and the output from outside the function:
(we don't need to use *global* variable when the code is done properly)
def haha(x):
# a = x # we don't need this
#print(x*x) # option: print this expression from inside the function
return x * x # e.g. return this expression
res = haha(9) # we can accept the returned value from the function by storing it in variable like *res*.
# it can be used for any purpose in main part of the program
print(res) # last step is to output, or do with it whatever is needed ...
+ 3
"a" is a local variable, that is, it is defined inside the function and cannot be used outside of it. So you are trying to print another variable "Š°" that you haven't defined yet.
#1:
def haha(x):
a = x
print(x*x)
return a
a = haha(9)
print(a)
#2:
a = 5
def haha(x):
global a
a = x
print(x*x)
haha(9)
print(a)
šš š
def squaring(x):
return x*x
print(squaring(9))
+ 2
Solo what is the purpose of return statement then. Doesn't it returns anything that can be used in the whole program at any time?
+ 1
JOKER I do want to print variable a that is returned by the function
+ 1
def haha(x):
print(x*x)
haha(5)
0
def haha(x):
a = x
return a*a
print(haha(9))
#this
- 1
def haha(x):
print(x*x)
return x*x
haha(9)
print(haha)
- 1
Hello, your 'a' variable is inside the function scope and you re calling it on the global scope which will return an error since it is unknown to a global scope while declaring the 'a' to local/function scope.