def display(l = [['0'], ['1', '9', '2', '4'], [], ['3'], [], ['5', '8', '7', '6'], [], [], [], []]): for i in range(0, high): if len(l[i]) != 0: print str(i) + ': ' + ' '.join(l[i]) else: print str(i) + ':' def search(l, find): for i in range(0, len(l)-1): for j in range(0, len(l[i])-1): if l[i][j] == find: return [i, j] enter = """10 move 9 onto 1 move 8 over 1 move 7 over 1 move 6 over 1 pile 8 over 6 pile 8 over 5 move 2 over 1 move 4 over 9 quit""" enter = enter.split('\n') high = int(enter[0]) l, loc = [], {} for i in range(0, high): loc[i] = i i = [str(i)] l.append(i) #print l for line in enter: words = line.split() if words[0] == 'move': if words[2] == 'onto': first = search(l, find = words[1]) a = l[first[0]][first[1]] del l[first[0]][first[1]] second = search(l, find = words[3]) b = l[first[0]][first[1]] if words[2] == 'over': pass if words[0] == 'pile': if words[2] == 'onto': pass if words[2] == 'over': pass """ for small in l: for item in small: if item == words[1]: pass"""