def position(array, x = 0, y = 0): down = 0 while down < len(array): if down == x: over = 0 while over < len(array[down]): if over == y: print down, over print array[down][over] over += 1 down += 1 maze = 'OXXXOOXXX\nOOXXXOOXX\nOOXXXXOXX\nOXXXXXOXO\nOOXXXXOXO\nXOOOOOOOO\nXOXXXXXOO' # (over, down) start = (0, 0) end = (9, 7) previous_x = 6 previous_y = 8 current_position = previous_x, previous_y if previous_y + 1 == 'O': previous_y += 1 current_position = previous_x, previous_y if position == end: print distance array = maze.split() subarray = [] length = len(array) i = 0 while i < length: subarray = [] for char in array[i]: subarray.append(char) array[i] = subarray i += 1 for item in array: print item print '\n' + maze position(array, previous_x, previous_y) ##import Numeric ##a = Numeric.array((1,2)) ##for item in array: ## for char in item: ## subarray.append(char) ## array.append(subarray) ## ##print array