рекурсивное возвращение троичного в python, похоже, не работает - PullRequest
0 голосов
/ 02 мая 2020

приведенный ниже код печатает 1, но должен печатать 24. перезапись с простым if / else работает нормально.

def factorial(x):
  return 1 if (x == 1) else factorial(x - 1) 

print(factorial(4))

1 Ответ

3 голосов
/ 02 мая 2020

Это не троичная проблема, а определение самой функции. Это должно быть

def factorial(x):
  return x if x == 1 else x * factorial(x - 1)
...