def move(n, a, b, c):
if n == 1:
print(a, '-->', c)
else:
move(n - 1, a, c, b)
move(1, a, b, c)
move(n - 1, b, a, c)
move(3, 'A', 'B', 'C')
逐步解析:
move(n - 1, a, c, b) 此时move(n, a, b, c) = move(2, A, C, B),执行一遍else的三行代码,依次代入,输出结果为:
A --> C
A --> B
C --> Bmove(1, a, b, c) 此时move(n, a, b, c) = move(1, A, B, C),执行if代码,输出结果为:
A --> Cmove(n - 1, b, a, c) 此时move(n, a, b, c) = move(2, B, A, C).再次执行一遍else的三行代码,输出结果为:
B --> A
B --> C
A --> C
宋忠义_