Пошаговое выполнение функции для моделирования машины Тьюринга?

Просто случайный вопрос - есть ли способ запустить функцию Python шаг за шагом? Я хочу иметь возможность имитировать такие вещи, как ласточкин хвост - где для каждого ввода я могу запустить один шаг функции за раз, чтобы он выводил все операторы возврата, не застревая в бесконечном цикле. Я хотел бы, чтобы это было что-то вроде этого:

f = (collatz conjecture function)
processes = []
i = 0
while True:
    processes.append(f(i)) # Add the function on that input but dont run it
    for p in processes:
        (run p for 1 step. If it halts, print its input)
    i+=1

Есть ли способ сделать это, или я просто сумасшедший? Вроде как pdb, но я не хочу, чтобы он отлаживал.

0 ответов

Другие вопросы по тегам