终端给出缩进错误,编辑器没有

时间:2013-05-19 14:26:53

标签: python

以下是代码:

   count = 0
   i = 0
   while count < len(newlist):

    if newlist[i] == newlist[i+6] and newlist [i+6] != newlist [i+12]:


        two1.append(newlist[i])
        two1.append(newlist[i+1])
        two1.append(newlist[i+2])
        two1.append(newlist[i+3])


    count=count+1   
    i=i+6



print two1

在终端,我得到:

  File "<stdin>", line 2
    count=count+1; i=i+6
    ^
IndentationError: unexpected indent

在learnpython.org编辑器中,我没有收到任何错误。无论哪种方式,two1打印为[],这不是我想要的。

3 个答案:

答案 0 :(得分:2)

您的第一行代码是缩进的,这是非法的,因此终端是正确的。您确定没有忘记在源代码中粘贴一行吗?

显然缺少某些程序逻辑 - 例如,newlisttwo1未在任何地方定义。

答案 1 :(得分:2)

代码中有多个制表符和空格(通过选择是否编辑帖子而不是格式化输出可见)。不鼓励在Python中使用制表符进行缩进,混合制表符和空格更糟糕。来自PEP8

  

切勿混合标签和空格。

     

缩进Python最流行的方法是仅使用空格。该   第二种最流行的方式是仅使用标签。代码缩进了一个   标签和空格的混合应该转换为使用空格   只。使用Python调用Python命令行解释器时   -t选项,它会发出有关非法混合标签的代码的警告   和空间。使用-tt时,这些警告会出错。这些选项   强烈推荐!

     

对于新项目,强烈建议仅使用空格。最   编辑器具有使这很容易做到的功能。

设置编辑器将标签转换为空格,生活会更好。

答案 2 :(得分:0)

您的程序无法以缩进开头。

关于范围: http://beastie.cs.ua.edu/cs150/book/index_13.html