Python 缩进中制表符和空格的使用不一致
我是Python新手。上面粘贴的程序在“如果temp==dna2:”行给出了一个错误“缩进中制表符和空格的使用不一致”。有人能帮我找出缩进是怎么不正确的吗?这意味着缩进中的空格和制表符混淆了。您必须修复该问题,使其与制表符或空格保持一致。假设您有一个“良好”的IDE,最好将制表键设置为4个空格,而不是一个“制表符”,这样您就不会有太多问题,而且这是一个很好的实践,因为您将与其他人一起工作 如果你仔细看这些线Python 缩进中制表符和空格的使用不一致,python,indentation,Python,Indentation,我是Python新手。上面粘贴的程序在“如果temp==dna2:”行给出了一个错误“缩进中制表符和空格的使用不一致”。有人能帮我找出缩进是怎么不正确的吗?这意味着缩进中的空格和制表符混淆了。您必须修复该问题,使其与制表符或空格保持一致。假设您有一个“良好”的IDE,最好将制表键设置为4个空格,而不是一个“制表符”,这样您就不会有太多问题,而且这是一个很好的实践,因为您将与其他人一起工作 如果你仔细看这些线 def contains_sequence(dna1, dna2): ''' (
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
在代码中,您将看到每行开头的“空格”是以不同的方式“构造”的。在一种情况下,它使用制表符和其他空格,或者,如果两者都有制表符和空格,则它们以不同的组合使用
您可以通过将光标放在每行的开头并使用右箭头键“漫游”字符来检查这一点。您将看到光标在每一行上的移动方式不同
要修复此问题,请删除每行开头的制表符和空格,然后在每行重新插入具有相同字符的制表符和空格
为避免将来,训练自己只使用Tab键或空格键缩进,并考虑设置编辑器以自动将制表符转换为空格。
< P>根据您的DOC字符串 您的代码: temp=dna1[i:i+len2]
if temp == dna2:
这么大的代码可以简化为一行
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
另外,如果你在“vim”编辑器中不擅长缩进,那么在中练习也很好,我几乎在这个问题上沉默了一段时间。我正在使用CentOS Ec2,发现您可以:
return dna1.find(dna2)>=0
维姆
如果处于写入/插入模式,请按Escape键
:设置列表
空格将显示为行尾,例如$
符号。
这很有帮助。在我的例子中,Visual Studio代码 Ctrl+Shift+p或查看->命令选项板 类型 将缩进转换为空格
按Enter键。在上面的代码中,我们看不到空格和制表符。您可能想发布
cat-evt
的输出,它将分别显示空格和制表符。任何人都知道如何使用vim快速修复?@jb1搜索“vim convert tabs spaces”将为您提供帮助。我们可能同时找到了它,谢谢:^)谢谢,我在复制粘贴过程中在注释中添加了空格
vim <filename>
Press Escape Key If you're in write/insert mode
:set list