Python treats variables in functions differently depending on whether you assign values to them from inside or outside the function. If a variable is assigned within a function, it is treated by default as a local variable. Therefore, when you uncomment the line, you are trying to reference the local variable
c before any value has been assigned to it.
If you want the variable
c to refer to the global
c = 3 assigned before the function, put
as the first line of the function.
As for python 3, there is now
that you can use to refer to the nearest enclosing function scope that has a