1

我有以下代码:

n=input('How many disks?')

def MoveTower(n, source='A', dest='C', store='B'):
    if n==1:
        print source + '->' + dest
    else:

        MoveTower(n-1, source, store, dest)
        MoveTower(1, source, dest, store)
        MoveTower(n-1, store, dest, source)

print MoveTower(n)
print str(2**n-1), 'moves total'

以下代码返回解决具有 n 个磁盘的河内塔所需的移动,并计算成功需要多少磁盘,但在所有移动之后,有一个“无”我想摆脱这个 - 你能帮忙吗?

4

1 回答 1

5

删除print语句,只需调用MoveTower(n)而不打印它的返回值:

MoveTower(n)
print str(2**n-1), 'moves total'

所有python 函数都返回一些值。如果您没有明确返回任何内容,则默认值为None. 调用print MoveTower(n)打印None返回的默认值MoveTower()

于 2013-04-11T13:08:29.150 回答