缩进中使用制表符和空格不一致

kni*_*ool 12 python indentation

def contains_sequence(dna1, dna2):
    ''' (str, str) -> bool

    Return True if and only if DNA sequence dna2 occurs in the DNA sequence
    dna1.

    >>> contains_sequence('ATCGGC', 'GG')
    True
    >>> contains_sequence('ATCGGC', 'GT')
    False

    '''
    b=False
    len2=len(dna2)
    i=0
    for j in dna1:
        temp=dna1[i:i+len2]
        if temp == dna2:
            b=True
        i=i+1
    return b
Run Code Online (Sandbox Code Playgroud)

我是Python的新手.上面粘贴的程序在"if temp == dna2:"行中给出了一个错误"在缩进中使用制表符和空格的不一致".有人可以帮我找出缩进是如何不正确的吗?

pok*_*oke 20

这意味着您在缩进中混合了空格和制表符.您必须修复它以与标签或空格一致.


Lar*_*tig 5

如果你仔细看线条

    temp=dna1[i:i+len2]
    if temp == dna2:
Run Code Online (Sandbox Code Playgroud)

在您的代码中,您会看到每行开头的“空间”的“构造”不同。在一种情况下,它使用制表符并在其他空格中使用,或者,如果两者都有制表符和空格,则它们以不同的组合使用。

您可以通过将光标放在每行的开头并使用右箭头键“遍历”字符来检查这一点。您会看到光标在每一行上的移动方式不同。

要修复,请删除每行开头的制表符和空格,然后在每行上重新插入相同的字符。

为避免将来发生,请训练自己仅使用 Tab 键或空格键进行缩进,并考虑将编辑器设置为自动将制表符转换为空格。