我试着编写一个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]]
答案 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
。