Как искоренить "Нет" с конца рекурсии
У меня есть следующий код:
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()
,