1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| total_levels: int column_from: list column_to: list column_via: list
def move_hanoi(column_a, column_b, column_c, move_levels): global column_from, column_to, column_via if move_levels == 1: column_b.append(column_a.pop()) print_hanoi() return move_hanoi(column_a, column_c, column_b, move_levels - 1) move_hanoi(column_a, column_b, column_c, 1) move_hanoi(column_c, column_b, column_a, move_levels - 1)
def print_hanoi(): global column_from, column_to, column_via print("column_from: ", column_from) print("column_to : ", column_to) print("column_via : ", column_via) print()
total_levels = eval(input("请输入汉诺塔层数:")) column_from = list(range(total_levels)) column_to = [] column_via = [] print_hanoi()
move_hanoi(column_from, column_to, column_via, total_levels) print("完成")
|