2012-11-28 78 views
0

我試圖編寫一個python程序來生成鼠尾草的雙胞胎。Python,生成雙生子

但是我似乎無法完成它的工作。

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

賢者是給我下面的錯誤信息:

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號線,在

文件「/私人的/ var /文件夾/ 6-/6-7wRVdAEhuqw8H28uS60U如果(s1 [k] + s1 [y])==((s1 [k] +(s1 [k] +),則可以使用以下公式來計算TI + _sage_const_2)): ^ 語法錯誤:無效語法

個謝謝,我也投入了缺少括號

現在我得到

回溯(最近通話最後一個):Y = 1個 文件 「」,1號線,在

文件「/私營/ VAR /文件夾/ 6-/6-7wRVdAEhuqw8H28uS60U +++ TI/-Tmp-/tmp9RE23a/代碼 py」爲18行,在 而S1 [Y] < S1 [長度(S1)〕: IndexError:列表索引超出範圍

嗯,我想我不能在這裏使用len(s1)。

非常感謝,它現在工作

而S1 [Y] < S1 [長度(S1) - 1]:

然而,

S2 = S2 + S1 [k]的似乎不是有效的代碼。

我得到下一個錯誤

回溯(最近通話最後一個):Y = 1個 文件 「」,1號線,在

文件「/私人的/ var /文件夾/ 6-/6 -7wRVdAEhuqw8H28uS60U +++ TI/-Tmp-/tmp3tx5on/代碼 py」爲20行,在 S2 = S2 + S1 [K] 文件 「element.pyx」,線1525,在sage.structure .element.RingElement。 (sage/structure/element.c:13476) sage.structure.coerce.CoercionModel_cache_maps.bin_op(sage/structure/coerce)中的文件「coerce.pyx」,行797。C:7678) 類型錯誤:不支持的操作父(S)爲 '+': '' 和 '整數環'

非常感謝

我找到了最後一個問題

我需要使用,現在它正在工作!

S2 = S2 + [S1 [K]]

回答

2

您對下面的行不對稱的括號:

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

我還注意到使用x.is_prime()。我不知道這是不是Sage的事情,但我的獨立Python解釋器沒有int.is_prime()方法。

最後,s1[len(s1)]總是因爲s1的指數運行從零到len(s1)-1引發IndexError例外。

+0

x.is_prime()在聖人工作,所以我想它一定是賢者的事情。 – Susan

+0

是的,實際上Sage會將'int'輸入到一個特定於Sage的類'Integer'中,它具有這種方法。 – kcrisman