问题
I found on the net that local variables of functions can't be accessed from outside when the function call has finished.I try to execute the program but it throws an error that variable is not defined. My code is
xyz=list()
n=0
def length(g):
i=0
n=g
v=input("no of")
while i<v:
c=input("Enter the 1st dimension:")
j=input("Enter the 2nd dimension:")
i=i+1
xyz.append(c)
xyz.append(j)
return c
return j
return n
def prod():
global c
for i in xyz:
if n<c and n<j:
print "Upload another"
elif n==c and n==j:
print "Accepted"
else:
print "Crop it"
length(input("ENter the length"))
prod()
print xyz
It throws error like this
Traceback (most recent call last): File "C:\Python27\pic.py", line 32, in prod() `File "C:\Python27\pic.py", line 21, in prod if n
回答1:
I guess this is what you would want to do
xyz=list()
n=0
def length(g):
i=0
n=g
v=input("no of")
global xyz
while i<v:
c=input("Enter the 1st dimension:")
j=input("Enter the 2nd dimension:")
i=i+1
xyz.append(c)
xyz.append(j)
return c,j,n
def prod():
global xyz
c,j,n = length(input("ENter the length"))
for i in xyz:
if n<c and n<j:
print "Upload another"
elif n==c and n==j:
print "Accepted"
else:
print "Crop it"
prod()
print xyz
Output
ENter the length 2
no of 2
Enter the 1st dimension: 1
Enter the 2nd dimension: 2
Crop it
Crop it
[1, 2]
来源:https://stackoverflow.com/questions/39689434/how-to-access-local-variables-of-functions-when-the-function-call-has-finished-i