Python - 我收到缩进错误,但我没有看到。标签和空格不混合

时间:2013-06-17 19:02:58

标签: python indentation

我的代码是:

90              if needinexam > 100:
91                  print "We are sorry, but you are unable to get an A* in this class."
92              else:
93                  print "You need " + final + "% in your Unit 3 controlled assessment to get an A*"
94          
95          elif unit2Done == "n":
96              
97          else:
98              print "Sorry. That's not a valid answer."

,错误是:

line 97
    else:
       ^
IndentationError: expected an indented block

我完全不知道为什么我会收到这个错误,但也许你们可以帮助我。围绕它有很多if / else / elif语句,这可能让我感到困惑。非常感谢任何帮助,谢谢!

编辑: 将“pass”或代码添加到elif语句中只会将相同的错误移动到第95行。

2 个答案:

答案 0 :(得分:14)

试试这个:

elif unit2Done == "n":
    pass # this is used as a placeholder, so the condition's body isn't empty
else:
    print "Sorry. That's not a valid answer."

这里的问题是unit2Done == "n"条件的主体不能为空。在这种情况下,必须使用pass作为一种占位符。

答案 1 :(得分:1)

除了要求pass之外,它就在这里:

95          elif unit2Done == "n":  # space space tab tab
96              pass # space space space space tab tab tab
97          else: # space space space space tab tab
98              print "Sorry. That's not a valid answer." # space space tab tab tab

你确实有混合物。

在vim中,你可以这样做:

set listchars=tab:>-,trail:.

这就是你的代码:

95  >--->---elif unit2Done == "n":
96    >->--->---pass
97    >->---else:
98  >--->--->---print "Sorry. That's not a valid answer."