Я сделал факториал с использованием хвостовой рекурсии, то возвращается "нет" - почемуПочему рекурсия хвоста факториальных возвратов нет?
def fact(n, k):
print "n = %d k = %d" % (n,k)
if n == 1:
print "k final = ", k
return k
else:
# print n
print k
fact(n-1, k*(n-1))
a =(fact(4, 4))
print a
Вы ничего не возвращаете в предложении 'else:'. – Barmar
Вопрос, связанный с рекурсией в Python, сделает лучший дубликат. – chepner
@chepner Это тот же шаблон почти на всех языках. Исключение составляют такие языки, как Lisp, где последнее выражение в функции автоматически возвращается. Поэтому я не собирал аналогичные вопросы для каждого языка. – Barmar