Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 有人能帮我弄一下戈德巴赫密码吗?当我调用函数,然后输入1000000时,它似乎没有输出任何输出,我不知道为什么?_Python 3.x - Fatal编程技术网

Python 3.x 有人能帮我弄一下戈德巴赫密码吗?当我调用函数,然后输入1000000时,它似乎没有输出任何输出,我不知道为什么?

Python 3.x 有人能帮我弄一下戈德巴赫密码吗?当我调用函数,然后输入1000000时,它似乎没有输出任何输出,我不知道为什么?,python-3.x,Python 3.x,我需要达到1000000,由于某种原因,它没有给我1000000的输出,我不知道我做错了什么。每次我输入一个小数字,比如500,它会给我正确的输出,但一旦我输入9999999或1000000,它就不会输出任何输出,当我进行键盘中断时,它会说它在中断时停止,但我需要中断,以便值只重复一次 bachslst=[] primeslst=[] q=[] newlst=[] z=[] def goldbach(limit): primes = dict() for i in range(

我需要达到1000000,由于某种原因,它没有给我1000000的输出,我不知道我做错了什么。每次我输入一个小数字,比如500,它会给我正确的输出,但一旦我输入9999999或1000000,它就不会输出任何输出,当我进行键盘中断时,它会说它在中断时停止,但我需要中断,以便值只重复一次

bachslst=[]
primeslst=[]
q=[]
newlst=[]
z=[]

def goldbach(limit):
    primes = dict()
    for i in range(2, limit+1):
        primes[i] = True
    for i in primes:
        factors = range(i, limit+1, i)
        for f in factors[1:]:
            primes[f] = False
    for i in primes:
        if primes[i]==True:
            z.append(i)     
    for num in range(4,limit+1,2):
        for k in range(len(z)):
            for j in z:
                if (k + j ) == num :
                    x=(str(k),str(j))
                    q.append(x)
                    newlst.append([x,[num]])
                break
        bachslst.append(num)   
    print(bachslst,'\n')      
    return newlst

所指的中断不是代码中的中断,而是由键盘中断引起的中断

如果你想在不到1.5小时内得到你的结果,试着减少你正在做的计算量。如果您进行搜索,有许多实现可用于测试哥德巴赫猜想。有些是其他语言的,但您仍然可以使用它们来影响您的算法


我没有看过它,但这里有另一个Python实现:

Hi,欢迎使用SO。你需要阅读和阅读。目前,我们很难帮助你。我贴了一张照片,这样每个人都能看得更清楚。如果你读了我给你的链接,你就会知道为什么不赞成。这使得人们很难复制和粘贴代码以便运行它,也使得搜索引擎无法找到它。您等待输出多长时间了?至少三次min@arewn是的,我试着运行它,但它只会给我一些错误。我建议在其他地方寻找示例实现。它似乎是许多语言中相当常见的教学工具。即使您必须将代码从另一种语言移植到Python,这也是一种学习体验。当我让它运行时,您的代码最终返回,但结果似乎不正确。正如我所说的,我会再看一看实现。但要回答最初的问题,您的代码“在某种意义上”是有效的。它是完整的,而不是挂起的。您收到的中断消息与您的代码无关。