【问题标题】:Python Identation errorPython缩进错误
【发布时间】:2014-04-07 05:51:31
【问题描述】:

我只是想不通这段代码有什么问题..它显示错误:“unindent doesn't match any external indentation level 我已经使用 python -m tabnanny paint.py 对其进行了检查...它显示如下内容:“识别错误:unident 与任何外部级别都不匹配((tokensize>,line26>”但我就是不明白它是什么)怎么说..请帮帮我。 #paint.py 导入系统,pygame 导入操作系统 从 pygame.locals 导入 *

pygame.init()

screen = pygame.display.set_mode((1000,600))
screen.fill((255,255,255))
brush = pygame.image.load(os.path.join('C:\Python27','brush.png'))
brush = pygame.transform.scale(brush,(128,128))

pygame.display.update()
clock = pygame.time.Clock()

z = 0

while 1:
    clock.tick(60)
x,y = pygame.mouse.get_pos()
for event in pygame.event.get():
    if event.type==pygame.QUIT:
    sys.exit()
    elif event.type == MOUSEBUTTONDOWN:
    z=1
        elif event.type == MOUSEBUTTONUP:
    z=0

    if z==1:
    screen.blit(brush,(x-64,y-64))
    pygame.display.update()

【问题讨论】:

  • 您是否尝试过像教程显示的那样缩进?
  • 是的...它显示相同的错误
  • 如果错误没有消失,那么您仍然没有按照教程所示完成。
  • 检查上面的缩进是否与文件中的内容相匹配,注意前几行没有作为上面代码块的一部分出现。如果这真的是你所拥有的,那么至少有 6 个缩进错误。
  • 我做到了,但仍然让我再试一次......我试图从过去半小时开始解决它,但它显示与 line elif event.type==MOUSEBUTTONUP 或与elif event.type==MOUSEBUTTONDOWN...

标签: python python-2.7 pygame


【解决方案1】:

有几个地方缺少缩进:

...
if event.type==pygame.QUIT:
sys.exit() # <-- missing indentation
elif event.type == MOUSEBUTTONDOWN:
z=1 # <-- missing indentation
    elif event.type == MOUSEBUTTONUP:
z=0 # <-- missing indentation
....

请注意,在if 子句下执行的块必须缩进。另外我建议您使用可以显示白色字符的文本编辑器 - 否则很难捕捉到这些错误。

【讨论】:

  • 好的..我会记住这一点的..你能告诉我显示白色字符的文本编辑器的名称吗?
  • 文本编辑器的选择实在是太多了,我猜任何现代编辑器都有这个功能。维基百科保留a very comprehensive comparison table。目前我正在使用极好的免费Notepad++,它支持这个功能。
猜你喜欢
  • 2014-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-16
  • 2017-04-06
相关资源
最近更新 更多