gpt4 book ai didi

python - 如何在 Python 中获得堆栈溢出错误?

转载 作者:行者123 更新时间:2023-12-04 14:23:10 34 4
gpt4 key购买 nike

我目前使用此代码:

def f():
try:
f()
except RecursionError:
f()

try:
f()
except RecursionError:
f()

这会立即导致致命的堆栈溢出。但是,我想知道是否有更简单的方法来做到这一点,它更像是 Pythonic。
附言忽略缩进错误,这里很难输入。

最佳答案

import sys
sys.setrecursionlimit(10**8)

def ackermann(m,n):
if m == 0:
return (n + 1)
elif n == 0:
return ackermann(m - 1, 1)
else:
return ackermann(m - 1, ackermann(m, n - 1))

for x in range(5):
for y in range(5):
print(ackermann(x, y))
Python 的默认递归限制是 10**4。可使用 setrecursionlimit() 进行更改,因此您可能会收到“堆栈溢出”错误,因为 Ackermann 函数的输出太长。

关于python - 如何在 Python 中获得堆栈溢出错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51550617/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com