0

这是代码:

   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 都打印为 [],这不是我想要的。

4

3 回答 3

2

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

显然缺少一些程序逻辑 -例如newlisttwo1没有在任何地方定义。

于 2013-05-19T14:32:14.807 回答
2

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

切勿混合制表符和空格。

Python 最流行的缩进方式是仅使用空格。第二种最流行的方式是仅使用选项卡。使用制表符和空格混合缩进的代码应转换为仅使用空格。当使用 -t 选项调用 Python 命令行解释器时,它会发出有关非法混合制表符和空格的代码的警告。使用 -tt 时,这些警告会变成错误。强烈推荐这些选项!

对于新项目,强烈建议仅使用空格而不是选项卡。大多数编辑器都具有使此操作变得容易的功能。

设置你的编辑器将制表符转换为空格,生活会更好。

于 2013-05-19T14:32:48.163 回答
0

您的程序无法以缩进方式启动。

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

于 2013-05-19T14:31:50.783 回答