预期的缩进块错误(蛋白质序列计数)
问题描述:
def find_orf_lengths(dna,frame,cutoff):
orfs_lengths = []
for i in range(0,len(dna),3):
if(dna[i:i+3] == "ATG"):
orfs_lenghts[i] += 1
elif(dna[i:i+3] == "TGA"|"TAA"|"TAG"):
if(orfs_lenghts[i] >= cutoff):
orfs_lengths.append(100)
elif(orfs_lenghts[i] < cutoff):
continue
return orfs_lengths
我工作的一个蛋白质序列项目和问题是,无论我做什么,我不能让过去的“预期的缩进这是考虑这样块”错误:
File "lab6hw.py", line 27
if(dna[i:i+3] == "ATG"):
IndentationError: expected an indented block
答
的elif
必须在相同的缩进层次,因为它高于if
。你可能意思是这样的:
def find_orf_lengths(dna,frame,cutoff):
orfs_lengths = []
for i in range(0,len(dna),3):
if(dna[i:i+3] == "ATG"):
orfs_lenghts[i] += 1
elif(dna[i:i+3] == "TGA"|"TAA"|"TAG"):
if(orfs_lenghts[i] >= cutoff):
orfs_lengths.append(100)
elif(orfs_lenghts[i] < cutoff):
continue
return orfs_lengths
虽然我不能在不知道输入的情况下测试你的代码。在相同的缩进级别
答
认沽ELIF仿佛:
def find_orf_lengths(dna,frame,cutoff):
orfs_lengths = []
for i in range(0, len(dna), 3):
if(dna[i:i + 3] == "ATG"):
orfs_lenghts[i] += 1
elif(dna[i:i + 3] == "TGA" | "TAA" | "TAG"):
if(orfs_lenghts[i] >= cutoff):
orfs_lengths.append(100)
elif(orfs_lenghts[i] < cutoff):
continue
return orfs_lengths
您已经混合空格和制表符,其他压痕问题之一。 – user2357112
'elif'应该缩进与其相关的'if'相同。 –
这可能对您有所帮助:https://stackoverflow.com/questions/45621722/im-getting-an-indentationerror-how-do-i-fix-it –