Python防爆栈模板
算法 | python | 模板
2025年4月23日
简介
类似协程, yield函数, return结果.
代码
def calc(n):
if n <= 1:
return n
else:
a = yield calc(n - 1)
return a + 1
def event_loop(s):
stk, last_rst = [s], None
while stk:
try:
func, last_rst = stk[-1].send(last_rst), None
stk.append(func)
except StopIteration as e:
last_rst = e.value
stk.pop()
return last_rst
print(f"Final result: {event_loop(calc(1000000))}")