Python Вызов исключения для исключения вместо возврата в рекурсивную функцию

Я должен проверить, насколько быстрее работает код, в котором я делаю исключение, чтобы закончить рекурсию вместо возврата

Мой код с возвратом выглядит следующим образом:

def factorial(self, n): if n==0: return 1 else: return n* self.factorial(n-1) 

Теперь мой код с рейзом:

 def factorial2(self, n): if n==0: raise Exc(1) else: return n* self.factorial2(n-1) 

Я не знаю, если он должен выглядеть так и что мне делать, чтобы получить значение, которое я пробовал, так вот

 try: print factorial2(n) except Exc: 1 

Но это не сработает. Я даже не знаю, близко ли я к хорошему решению.

Может ли кто-нибудь помочь мне, дать мне несколько советов?

One Solution collect form web for “Python Вызов исключения для исключения вместо возврата в рекурсивную функцию”

вам понадобится try / except в другой части этой функции … так как все вызовы в конечном итоге вызовут это исключение, если вы будете слушать снаружи, тогда вся ваша работа будет потеряна

 def factorial2(self, n): if n==0: raise Exc(1) else: try: return n* self.factorial2(n-1) except Exc: return n 
  • python: пересмотр списка изменений в исходном списке
  • django моделирует рекурсивный импорт - как решить
  • найти весь индекс с рекурсией
  • Является ли эта функция рекурсивной, даже если она не называет себя?
  • интерпретатор python автоматически перезагружается без ответа
  • Рекурсия обучения, сообщение об ошибке (аргумент не по умолчанию следует за аргументом по умолчанию) python
  • Как определить рекурсивную функцию для объединения двух отсортированных списков и возврата нового списка с возрастающим порядком в Python?
  • sort () возвращает None
  • Операции рекурсии и возврата Python
  • Как написать эту сумму суммы рекурсивно в python?
  • Переменная для петель с рекурсией
  • Python - лучший язык программирования в мире.