Discuss / Python / 作业

作业

Topic source

由于step是全局变量,step一直累加。。有没有什么办法在函数调用完后清除呢。。

# -*- coding : utf-8 -*-
step = 1
def move(n,a,c):        
    global step
    print('第%d步,将%d号盘子由%s移动到%s' % (step,n,a,c))
    step += 1
def hanoi(n,a,b,c):
    if n == 1:
        move(1,a,c)
    else:
        hanoi(n-1,a,c,b)#将初始A的前n-1个盘子移动到借用塔B上
        move(n,a,c)#将初始A上最后一个盘子移动到最终塔C上
        hanoi(n-1,b,a,c)#将借用塔B,n-1个盘子移动到最终塔C上

运行结果ok的。


  • 1

Reply