不一致使用缩进制表符和空格(Inconsistent use of tabs and spaces

2019-06-18 13:34发布

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

我是新来的Python。 上面粘贴的程序给我一个错误“不一致使用缩进制表符和空格的”在行“如果气温== DNA2:”具体。 有人可以请帮我在找出缩进怎么是不正确?

Answer 1:

这意味着你已经在缩进混合起来空格和制表符。 你要修复到与Tab或者空格一致。



Answer 2:

如果您在线路仔细看

    temp=dna1[i:i+len2]
    if temp == dna2:

在你的代码,你会看到“空间”在每行的开头是“构建”不同。 在一种情况下,它使用的标签和在其他空间,或者,如果制表和空格然后它们在不同的组合中使用均具有。

您可以通过将光标在各行的开头,并使用右箭头键在文字“走”自己的方式研究这个。 您将看到光标在每行不同的动作。

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

为了避免在未来,训练自己只使用Tab键或空格键来缩进,并考虑设置你的编辑器来自动制表符转换为空格。



Answer 3:

假设你有一个“好”的IDE,最好设置tab键,使4个空格,而不是一个“标签”,这样你有较少的问题,这是很好的做法,因为当你将与其他人的工作。



Answer 4:

按照您的文档字符串

您的代码:

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

这多少大码可以简化为一行

return dna1.find(dna2)>=0

此外,如果妳不擅长与“VIM”编辑压痕其良好的实践IDLE3



文章来源: Inconsistent use of tabs and spaces in indentation