处理繁重的Python脚本

2024-04-24 14:58:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Python中创建了一个简单的递归阶乘函数。目前,我的电脑可以计算大约10000个阶乘。对于高于此值的值,python.exe只是停止工作。你知道吗

所以,我的问题是:如果我想处理更大的阶乘,有什么方法可以做到这一点(通过使用多个核等)?还是仅仅是Python的极限?我已经检查过使用GPU来编写Python脚本,但是这个方法对于我的想法来说似乎很复杂。你知道吗

我已经将递归限制设置为100000,所以这应该不是问题所在。你知道吗

这是我的密码:

import sys, time
sys.setrecursionlimit(100000)
def f(n):
    if n==0:
        return 1
    else:
        return n*f1(n-1)

谢谢你的帮助


Tags: 方法函数import脚本密码returnifgpu
1条回答
网友
1楼 · 发布于 2024-04-24 14:58:03

我认为主要的问题是调用堆栈,如果不在阶乘上使用尾部递归,堆栈将被填充。我认为那篇文章对你有用。你知道吗

What is tail recursion?

def f_loop(n):
    acum = 1 
    for i in range(2,n+1):
        acum*=i
    return acum

你可以用函数工具.reduce. 你知道吗

相关问题 更多 >