I am learning Python on my own and I am baffled on what is wrong in the following code
glob_var = 0
def print_glob_var():
    s = 0
    while glob_var > 0:
        s = s+1
        glob_var = glob_var - 1
    return s
    #print (globvar)     
def main():
    global glob_var    
    glob_var = 4
    print_glob_var()
main()
I am getting error "UnboundLocalError: local variable 'glob_var' referenced before assignment" . However when I use only the print the code block works fine.
What I am doing wrong. I am using Python 3.5.2

globalkeyword inside the function body