0

これは、ハノイの塔の問題を再帰的に解くためのコードです。

def printMove(fr, to):
print('Move from tower ' + str(fr) + ' to tower ' + str(to))

def Towers(n, fr, to, spare):
    if n == 1:
        printMove(fr, to)    
    else:
        Towers(n-1, fr, spare, to)
        Towers(1, fr, to, spare)
        Towers(n-1, spare, to, fr)

n=int(raw_input('Enter the initial number of disks: '))
fr=str(raw_input('Enter the number for the initial tower: '))
to=str(raw_input('Enter the number for the second tower: '))
spare=str(raw_input('Enter the number for the third tower: '))
print(Towers(n,fr,to,spare))

正常に動作しますが、すべての動きを印刷した後、「なし」も印刷されますが、その理由はわかりません。

前もって感謝します

4

2 に答える 2

4

代わりにprint(Towers(n,fr,to,spare))行いますTowers(n,fr,to,spare)

Towers何も返さないため、何も出力されません。

于 2013-05-10T23:37:45.153 に答える