我有以下代码:
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 个磁盘的汉诺塔所需的移动,并计算成功需要多少磁盘,但在所有移动之后,有一个 'None' 我想摆脱这个 - 你能帮忙吗?
最佳答案
删除print
语句,只调用MoveTower(n)
而不打印它的返回值:
MoveTower(n)
print str(2**n-1), 'moves total'
所有 python 函数返回一些 值。如果您没有显式返回任何内容,则默认值为 None
。调用 print MoveTower(n)
打印 MoveTower()
返回的默认 None
。
关于python - 如何从递归末尾消除 'None',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15949601/