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)デフォルトが出力されます。NoneMoveTower()

于 2013-04-11T13:08:29.150 に答える