if / elif / else python中的缩进错误

时间:2014-02-15 20:11:20

标签: python indentation

我在此语句的else部分中出现缩进错误。我已经检查了它的空白区域,并且没有任何意义上的错误。

if cur_state == 'NICHTGEN':
    cur_state = 'GEN'
elif cur_state == 'GEN' and chance_num > trans_genZuGen:
    cur_state = 'NICHTGEN'
else:
    cur_state = 'GEN'

确切的错误是

    else: 
        ^ 
IndentationError: unindent does not match any outer indentation level

3 个答案:

答案 0 :(得分:0)

确保您没有在同一时间使用空格和制表进行缩进。

另见:Are there any pitfalls with using whitespace in Python?

答案 1 :(得分:0)

首先 - 您可能正在混合空格和标签。

第二 - 这个逻辑可以简化为

if cur_state == 'GEN' and chance_num > trans_genZuGen:
    cur_state = 'NICHTGEN'
else:
    cur_state = 'GEN'

甚至

cur_state = 'NICHTGEN' if cur_state == 'GEN' and chance_num > trans_genZuGen else 'GEN'

(虽然第一个肯定更具可读性。)

答案 2 :(得分:0)

让空闲处理间距。在每一行上使用“结束”键,“删除”键和“返回”键。