Python新手,参加一门课程,老师提供了一个代码片段。提供的片段给了我一个 TabError,如下所示,但我似乎无法弄清楚原因。我希望这里有人能指出这个问题。
收到的错误:收到错误
发生错误的代码(更新为具有代码行而不是屏幕截图):
def filterResultsAcc(self, qcoverage=0.6, scoverage=0.6, evalue=0.01, best_taxon=False):
results = []
hits_by_taxon = {}
for(qstart,qend,sacc,staxid,slen,sstart,send,evalu) in self.blasthits:
qcov = ((qend-qstart) + 1.0) / float(self.querylen)
scov = ((send-sstart) + 1.0 / float(slen)
if qcov >= qcoverage and scov >= scoverage and evalu <= evalue:
if best_taxon:
if staxid in hits_by_taxon.keys():
(sid,e,qc,sc) = hits_by_taxon[staxid]
if evalu < e:
hits_by_taxon[staxid] = (sacc,evalu,qcov,scov)
elif evalu == e:
if qcov > qc:
hits_by_taxon[staxid] = (sacc,evalu,qcov,scov)
elif qvoc == qc:
if scov > sc:
hits_by_taxon[staxid] = (sacc,evalu,qcov,scov)
else:
hits_by_taxon[staxid] = (sacc,evalu,qcov,scov)
else:
results.append(sacc)
if best_taxon:
for taxid in hits_by_taxon.keys():
(sac,e,qc,sc) = hits_by_taxon[taxid]
results.append(sacc)
results.sort()
return results
该错误显示您混合了tab
和空格,就像它所说的那样。
如果您的编辑器支持它 - 请转动类似"显示不可打印字符"的内容以查看您的空格到底是什么。
另一种方法是选择所有代码,通常编辑器会区分空格和制表符。