How to access Local variables of functions when the function call has finished in python?

陌路散爱 提交于 2019-12-13 08:26:56

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!