奇异的制表符错误,无法将手指放在出错的地方

时间:2018-11-29 23:20:50

标签: python python-3.x

有一点背景知识,我是高二的uni编码,虽然不是什么新手,但仍然要学习很多东西,而且我正在做我的最终项目。我也不太习惯堆栈溢出,所以不要对我大喊哈哈

在我的代码中,我试图利用while循环遍历三个变量的列表,这些变量也被分配给通过链接列表实现的三个队列。我称此清单已满。我的while循环应该在我的完整队列列表仍为3时继续运行。

这里有代码块。我在弹出功能后收到制表符错误。

if (item.gameObject.CompareTag("clicked"))
{
    Vector3 pos = item.transform.position;
    Destroy(item.gameObject);
    FindObjectOfType<letterSpawner>().refresh(pos);
}

2 个答案:

答案 0 :(得分:3)

else:行的开头,代码中至少有一个制表符。 (此编辑器中有两个选项卡-您的代码中可能只有一个选项卡。)其他各行使用空格。

在Python中,一个很好的主意是仅在代码中使用空格,并且从不使用制表符。可以使用一些选项卡并摆脱它,但是摆脱它的可能性很小。将代码编辑器设置为在按下Tab键时插入空格-所有好的编辑器都有相应的设置。

在您显示给我们的代码中,else:之后的行根本没有缩进,因此也应该给您一个错误。用else:行中的空格替换制表符后,将行缩进四个空格。

答案 1 :(得分:0)

您收到制表符错误,因为您在缩进中混用了制表符和空格。 我复制粘贴的代码,“ else”行以制表符开头,而不是4个空格。尝试将其更改为4个空格,看看问题是否已解决。