Я создаю инструмент для вывода, сколько раз код выполняется в python. Например, когда ввод
def fib(n):
if n <= 1:
return n
return fib(n-1) + fib(n-2)
Вывод будет
def fib(n): 21891
if n <= 1: 10946
return n 10946
return fib(n-1) + fib(n-2) 8000
fib(20) 1
Число справа показывает, сколько раз выполнялся код.
Я переписываю функцию на
def fib(n):
dic["count_0"] += 1
if n <= 1:
dic["count_6"] += 1
return n
dic["count_7"] += 1
return fib(n-1) + fib(n-2)
dic["count_8"] += 1
fib(20)
dic["count_10"] += 1
Затем обработайте крайний регистр как комментарии или ключевое слово return
. Интересно, есть ли другой способ сделать это без множества подобных хаков?