I am trying to make a grid, starting at (0, 0), each different function changes your value, this is the code:
X = 0
Y = 0
MaximumX = 5
MinimumX = -5
MaximumY = 5
MinimumY = -5
def Move(Direction):
    Direction_functions[Direction]
    print (str(X),",",str(Y))
def Left(CoordinateX):
    if CoordinateX != MinimumX:
        CoordinateX -= 1
    else:
        Fail()
def Right(CoordinateX):
    if CoordinateX != MaximumX:
        CoordinateX += 1
    else:
        Fail()
def Up(CoordinateY):
    if CoordinateY != MinimumY:
        CoordinateY -=1
    else:
        Fail()
def Down(CoordinateY):
    if CoordinateY != MaximumY:
        CoordinateY += 1
    else:
        Fail()
def Fail():
    print ("Failure\n", str(X),",",str(Y))
Direction_functions = [Left(int(X)), Right(int(X)), Up(int(Y)), Down(int(Y))]
while True:
    Number = input("")
    Move(int(Number)) #Infinite loop is for testing purposes
This is the output after trying to move left:
>>> ================================ RESTART ================================
>>> 
1
0 , 0
1
0 , 0
1
0 , 0
1
0 , 0
1
0 , 0
1
0 , 0
1
0 , 0