Discuss / Python / 交作业

交作业

Topic source

张康除

#1 Created at ... [Delete] [Delete and Lock User]
    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函数输出的时候是

(a, '-->', c)

没看到有写函数格式啊?

我的理解是输入A B C(字符串)放入变量a b c

n=2举例:move(2,A,B,C)

不符合n=1,运行else语句

move(1,a,c,b)    输出 a变量 '-->' b变量  : A  -->  B

move(1,a,b,c)    输出 a变量 '-->' c变量  : A  -->  C

move(1,b,a,c)    输出 b变量 '-->' c变量  : B  -->  C

(这里我觉得是不是因为 a b c是不可变对象)

n=3同理递归


  • 1

Reply