2014-04-01 82 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