2014-04-01 86 views
0

親愛的我對於測試DNA序列中motif發生的簡單腳本有一些小問題。TypeError:'str'對象在函數調用時無法調用

首先,沒有任何功能,它的作品完美,但,當我提出如果下函數的代碼的發言中,我調用此函數

def Motif(Motif, Seq): 


    if Motif in Seq: 
     print "!!!wwWOOHOOOoo!!!" +('\n')+ "%s has been detected!!!"%(Motif)+('\n')+"wWOOOHOOOoo!!" 



# Script here 
Seq = raw_input('Please paste the DNA sequence here:') 
Motif = raw_input('Please type the DNA motif here:') 

Motif(Motif, Seq) 

回溯(最近通話最後一個)後獲得的錯誤: 文件「」,行1,在 文件「simple.py」,13號線,在 基序(基序,SEQ) 類型錯誤:「海峽」對象不是可調用

我應該在此代碼段修復?

+3

這是因爲你的函數具有相同的名稱'Motif'。 – fredtantini

回答

3

您反彈Motif字符串:

Motif = raw_input('Please type the DNA motif here:') 

這掩蓋了Motif功能;改爲使用不同的名稱。

Python函數是同一個命名空間中的對象; Motif或者指的是函數或raw_input()的返回值,而不是兩者。

+0

非常感謝!完美的作品 – user3470313