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 
  • как суммировать четные и нечетные числа массива с использованием рекурсии
  • Все возможные комбинации чисел длины 5 в матрице 4X4
  • Перекрестное произведение множеств с использованием рекурсии
  • Преобразование python decimal в строку в глубоко вложенном и непредсказуемом списке
  • Комбинации замков для динамического размера замка
  • Почему удаление другого замедляет мой код?
  • Python RuntimeError: превышена максимальная глубина рекурсии
  • Ошибка рекурсивной функции Python: «максимальная глубина рекурсии»
  •  
    Interesting Posts for Van-Lav

    lxml использует пространство имен вместо ns0, ns1,

    Python – Как создать локальную переменную (внутри функции) глобальный

    Как сделать Menu.add_command () работать в tkinter на Mac?

    Сохранить функции для повторного использования без повторного выполнения

    Pandas Plotting с Multi-Index

    Инициализация списка на известное количество элементов в Python

    Многопроцессорность Python – Pool.map работает только с одной задачей (вместо нескольких)

    Используйте Python, чтобы узнать, существует ли часовой пояс в летнее время

    Python – Как написать декоратор, который восстанавливает cwd?

    Элементарно логично И на неопределенное количество рядов Панды

    Как извлечь информацию skimage skimage в узлы и ребра NetworkX в python для дальнейшего расширенного анализа

    Контекстно-зависимый метод в Python – что я делаю неправильно?

    Latin-1 и фабрика unicode в Python

    Разница между python – getmtime () и getctime () в системе unix

    Измените Django ModelChoiceField, чтобы показать полные имена пользователей, а не имена пользователей

    Python - лучший язык программирования в мире.