How to access Local variables of functions when the function call has finished in python?
<p>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</p>

<pre><code>xyz=list()
n=0
def length(g):
    i=0
    n=g
    v=input("no of")
    while i&lt;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&lt;c and n&lt;j:
            print "Upload another"
        elif n==c and n==j:
            print "Accepted"
        else:
            print "Crop it"
       length(input("ENter the length"))
       prod()
       print xyz
</code></pre>

<p>It throws error like this</p>

<blockquote>
  <p>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
</blockquote>

<p>I guess this is what you would want to do</p>

<pre><code>xyz=list()
n=0
def length(g):
    i=0
    n=g
    v=input("no of")
    global xyz
    while i&lt;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&lt;c and n&lt;j:
            print "Upload another"
        elif n==c and n==j:
            print "Accepted"
        else:
            print "Crop it"

prod()
print xyz
</code></pre>

<p><strong><em>Output</em></strong></p>

<pre><code>ENter the length 2
no of 2
Enter the 1st dimension: 1
Enter the 2nd dimension: 2
Crop it
Crop it
[1, 2]
</code></pre>

python function global-variables local-variables