Python 2缩进错误

时间:2015-08-29 16:25:31

标签: python python-2.7

我已经定义了这个python函数由于某种原因它给出了一个缩进错误,该错误对于以下后面的打印行语句:

print '-------------------------------------------------------------'

我无法弄明白为什么。

def seq_type(file_handle):
    is_DNA = True
    is_RNA = True
    is_protein = True
    proteins = 'arndcqeghilkmfpstwyv'
    for line in file_handle:
        line.strip()
        if line[0] == '>': #skip this line since its fasta headear and therefore
            continue       #no sequence at this line

        print line
        if is_RNA == True:
            for char in line:
                print 'Character is: ', char
                if char.lower() == 'a' or char.lower() == 'u' or char.lower() == 'c' or char.lower() == 'g'or char == '\n':
                   is_RNA = True               
                   print is_RNA
                else:
                    is_RNA = False
                    print 'is RNA? ', is_RNA
                    break
    print is_RNA        

    print '-------------------------------------------------------------------'

        print line
        if is_DNA == True:
            for char in line:
                print 'Character is: ', char
                if char.lower() == 'a' or char.lower() == 't' or char.lower() == 'c' or char.lower() == 'g'or char == '\n':
                   is_DNA = True               
                   print is_DNA
                else:
                    is_DNA = False
                    print 'is DNA? ', is_DNA
                    break
    print is_DNA        

3 个答案:

答案 0 :(得分:2)

可能应该是这样的:

(...)    
    print '-------------------------------------------------------------------'

    print line
    if is_DNA == True:
        for char in line:
            print 'Character is: ', char
            if char.lower() == 'a' or char.lower() == 't' or char.lower() == 'c' or char.lower() == 'g'or char == '\n':
                is_DNA = True               
                print is_DNA
            else:
                is_DNA = False
                print 'is DNA? ', is_DNA
                break
    print is_DNA  

你已经编辑了你的帖子......我修改了我的答案。

答案 1 :(得分:1)

这两行之间存在意外缩进:

    print '-------------------------------------------------------------------'

        print line

答案 2 :(得分:0)

这是因为你错了。 print line在缩进的行之后缩进,但没有任何东西开始阻塞。