Python 有人能帮我看一下吗,我能';我不知道如何修复它:TypeError:';功能';对象没有属性'__获取项目';
我很确定问题出在哪里,但我不确定如何解决 迄今为止,守则:Python 有人能帮我看一下吗,我能';我不知道如何修复它:TypeError:';功能';对象没有属性'__获取项目';,python,Python,我很确定问题出在哪里,但我不确定如何解决 迄今为止,守则: def parseFasta(fasta): sequence = "" fasta = open("rosalind_lcsm.fasta", "r") for line in fasta: if ">" in line: pass else: sequence += line.strip() return sequence.split() def h
def parseFasta(fasta):
sequence = ""
fasta = open("rosalind_lcsm.fasta", "r")
for line in fasta:
if ">" in line:
pass
else:
sequence += line.strip()
return sequence.split()
def hid_motif(data):
substrs = lambda x: {x[i:i+j] for i in range(len(x)) for j in range(len(x) - i + 1)}
s = (substrs(data[0]))
for val in data[1:]:
s.intersection_update(substrs(val))
return max(s, key=len)
print hid_motif(parseFasta)
错误:
File "hmotif.py", line 18, in <module>
print hid_motif(parseFasta)
File "hmotif.py", line 13, in hid_motif
s = (substrs(data[0]))
文件“hmotif.py”,第18行,在
打印hid_图案(parseFasta)
文件“hmotif.py”,第13行,在hid_motif中
s=(子项(数据[0]))
数据
是您传入的函数parseFasta
。您不能将[]
符号用于函数
也许您想调用parseFasta
函数,该函数将传入结果,而不是函数本身。但是你需要一个论点。就像刚才提到的那样
因为您已经声明了函数
def parseFasta(fasta):
...
它需要一个输入参数
您需要键入:
print hid_motif(parseFasta(input_argument))
其中,input_参数是parseFasta(Fasta)
函数的必需输入
即:Fasta将复制
输入参数的值
parseFasta
是一个函数,而不是数据
列表。尝试:hid\u motif(parseFasta())
基于您定义的内容。注意:您必须将parseFasta
作为函数调用,并将输出传递给hid\u motif
。最后一行:print hid\u motif(parseFasta)
应该是print hid\u motif(parseFasta())
。注意,我在末尾添加了括号,因为您告诉编译器执行一个函数。当你只做parseFasta
时,你会传入(天知道怎么做)一个函数本身……请不要试图弄清楚最后一部分,它可能会很混乱。谢谢!现在来看内存错误…既然初始输入参数是fasta,那么它会是: