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(1,'A','B','C')

天朝子民

#2 Created at ... [Delete] [Delete and Lock User]

修正下:

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)
n=input('pls input number:')
move(int(n),'A','B','C')

廖雪峰

#3 Created at ... [Delete] [Delete and Lock User]

威廉小超

#4 Created at ... [Delete] [Delete and Lock User]

按照答案运算出来了,但是else中三个move的实际运行顺序有点糊。。。

Nicktimebreak

#5 Created at ... [Delete] [Delete and Lock User]

可以设想从低阶的n=2开始推导代码。n=3的情况就是在2的基础上变化,这样去想感觉会简单点,如果直接从较大的n代入去拆解比较难理解。


  • 1

Reply