【问题标题】:IndentationError: unindent does not match any outer indentation level in pythonIndentationError: unindent 不匹配 python 中的任何外部缩进级别
【发布时间】:2019-01-25 17:24:38
【问题描述】:

这段代码有什么问题? 它的显示

File "KeybordControleTest1.py", line 13
    elif c == curses.KEY_UP:
                       ^

IndentationError: unindent 不匹配任何外部缩进级别

我不确定如何解决这个错误

import curses

screen = curses.initsrc()
curses.noecho()
curses.cbreak()
screen.keypad(True)

try:
    while True:
     c = screen.getch()
     if c == ord('q'):
          break
    elif c == curses.KEY_UP:
       print "UP"
    elif c == curses.KEY_DOWN:
           print "DOWN"
    elif c == curses.KEY_RIGHT:
           print "RIGHT"
    elif c == curses.KEY_LEFT:
           print "LEFT"
    elif char == 10:
        print "STOP"
finally:
    curses.nocbreak(); screen.keypad(0); curses.echo()
    curses.endwin()'

【问题讨论】:

  • 在 python 中缩进很重要。注意if 语句和elif 语句应该在同一个缩进中

标签: python python-2.7


【解决方案1】:

是的,您的程序中的缩进完全错误。您需要定义一个制表符的清晰缩进或每层 4 个空格,并保持一致性...

import curses

screen = curses.initsrc()
curses.noecho()
curses.cbreak()
screen.keypad(True)

try:
    while True:
        c = screen.getch()
        if c == ord('q'):
            break
        elif c == curses.KEY_UP:
            print "UP"
        elif c == curses.KEY_DOWN:
            print "DOWN"
        elif c == curses.KEY_RIGHT:
            print "RIGHT"
        elif c == curses.KEY_LEFT:
            print "LEFT"
        elif char == 10:
            print "STOP"
finally:
    curses.nocbreak(); screen.keypad(0); curses.echo()
    curses.endwin()'

你可以在这里看到我已经缩进了它,这样很明显什么逻辑遵循什么语句

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多