Python 应为缩进块错误(蛋白质序列计数)

Python 应为缩进块错误(蛋白质序列计数),python,Python,守则: 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[

守则:

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
必须与上面的
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  
def find_orf_长度(dna、帧、截止):
orfs_长度=[]
对于范围(0,len(dna),3)内的i:
如果(dna[i:i+3]=“ATG”):
ORF_长度[i]+=1
elif(dna[i:i+3]=“TGA”|“TAA”|“TAG”):
如果(orfs_lenghts[i]>=截止):
orfs_长度。追加(100)
elif(ORF_lenghts[i]<截止时间):
持续
返回ORF_长度

尽管我无法在不知道输入的情况下测试代码。

如果
高于
,则
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  
def find_orf_长度(dna、帧、截止):
orfs_长度=[]
对于范围(0,len(dna),3)内的i:
如果(dna[i:i+3]=“ATG”):
ORF_长度[i]+=1
elif(dna[i:i+3]=“TGA”|“TAA”|“TAG”):
如果(orfs_lenghts[i]>=截止):
orfs_长度。追加(100)
elif(ORF_lenghts[i]<截止时间):
持续
返回ORF_长度

尽管我无法在不知道输入的情况下测试代码。

将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  
def find_orf_长度(dna、帧、截止):
orfs_长度=[]
对于范围(0,len(dna),3)内的i:
如果(dna[i:i+3]=“ATG”):
ORF_长度[i]+=1
elif(dna[i:i+3]=“TGA”|“TAA”|“TAG”):
如果(orfs_lenghts[i]>=截止):
orfs_长度。追加(100)
elif(ORF_lenghts[i]<截止时间):
持续
返回ORF_长度

将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  
def find_orf_长度(dna、帧、截止):
orfs_长度=[]
对于范围(0,len(dna),3)内的i:
如果(dna[i:i+3]=“ATG”):
ORF_长度[i]+=1
elif(dna[i:i+3]=“TGA”|“TAA”|“TAG”):
如果(orfs_lenghts[i]>=截止):
orfs_长度。追加(100)
elif(ORF_lenghts[i]<截止时间):
持续
返回ORF_长度

除了其他缩进问题外,您还混合了空格和制表符。
elif
的缩进应该与其关联的
if
相同。这可能对您有所帮助:您混合了空格和制表符,在其他缩进问题中。
elif
的缩进应与其相关的
if
的缩进相同。这可能对您有所帮助: