Как искоренить "Нет" с конца рекурсии

У меня есть следующий код:

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 дисками, и вычисляет, сколько дисков требуется успешно, но после всех ходов есть "Нет", от которого я хочу избавиться - не могли бы вы помочь?

1 ответ

Решение

Удалить print Скажите, просто позвоните MoveTower(n) без печати это возвращаемое значение:

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

Все функции Python возвращают некоторое значение. Если вы ничего не возвращаете явно, значением по умолчанию является None, призвание print MoveTower(n) печатает по умолчанию None вернулся MoveTower(),

Другие вопросы по тегам