So I have tried to create a recursion function which returns factorial of a number. I cant make it return y but I dont know why, can someone explain?
y = 1
def factorial(x):
    global y
    if x <= 1:
        print(y)
        return y
    else:
        y = y * x
        factorial(x-1)
def hey(): #random funtion which can return y but factorial cant.
    return y
print(factorial(3))
print(hey())
result in terminal:
6 #factorial can print y
None# Cant return y
6 # Other function can return y
 
     
     
    