Python,生成素数双胞胎

时间:2012-11-28 06:57:54

标签: python sage

我试着编写一个python程序来生成sage中的素数双胞胎。

但是我似乎无法让它发挥作用。

代码: http://pastebin.com/PRnvJsf3

Sage正在给我以下错误消息:

Traceback (most recent call last):    y = 1
  File "", line 1, in <module>

  File "/private/var/folders/6-/6-7wRVdAEhuqw8H28uS60U+++TI/-Tmp-/tmp8b0dCT/___code___.py", line 19
    while s1[y] < s1[len(s1)]
                            ^
SyntaxError: invalid syntax

谢谢我把丢失的冒号放进去。

现在我

追踪(最近一次呼叫最后一次):y = 1   

中的文件“”,第1行

文件“/private/var/folders/6-/6-7wRVdAEhuqw8H28uS60U+++TI--Tmp-/tmpEIEhQs/ code.py”,第19行     if(s1 [k] + s1 [y])==((s1 [k] +(s1 [k] + _sage_const_2)):                                                              ^ SyntaxError:语法无效

谢谢,我还把丢失的括号放入

现在我得到了

追踪(最近一次呼叫最后一次):y = 1   

中的文件“”,第1行

文件“/private/var/folders/6-/6-7wRVdAEhuqw8H28uS60U+++TI--Tmp-/tmp9RE23a/ code.py”,第18行,在     而s1 [y]&lt; S1 [长度(S1)]: IndexError:列表索引超出范围

嗯,我想我不能在这里使用len(s1)。

非常感谢,现在正在努力

而s1 [y]&lt; s1 [len(s1) - 1]:

然而,

s2 = s2 + s1 [k]似乎不是有效代码。

我收到了下一个错误

追踪(最近一次呼叫最后一次):y = 1   

中的文件“”,第1行

文件“/private/var/folders/6-/6-7wRVdAEhuqw8H28uS60U+++TI--Tmp-/tmp3tx5on/ code.py”,第20行,在     s2 = s2 + s1 [k]   在sage.structure.element.RingElement文件“element.pyx”,第1525行。添加(sage / structure / element.c:13476)   文件“coerce.pyx”,第797行,sage.structure.coerce.CoercionModel_cache_maps.bin_op(sage / structure / coerce.c:7678) TypeError:'+'的不支持的操作数父级:''和'整数环'

非常感谢

我找到了最后一个问题

我需要使用,现在它正在运作!

s2 = s2 + [s1 [k]]

1 个答案:

答案 0 :(得分:2)

您在以下行中有不平衡的括号:

if (s1[k] + s1[y]) == ((s1[k] + (s1[k] + 2)):

我也注意到x.is_prime()的使用。我不知道它是否是一个Sage的东西,但我的独立Python解释器没有int.is_prime()方法。

最后,s1[len(s1)] 始终总是引发IndexError例外,因为s1的索引从零开始运行到len(s1)-1