4

私のコードは次のとおりです。

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ステートメントがたくさんあるので、混乱するかもしれません。どんな助けでも大歓迎です、ありがとう!

編集:「パス」またはコードを elif ステートメントに追加すると、同じエラーが 95 行目に移動します。

4

2 に答える 2

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一種のプレースホルダーとして a を使用する必要があります。

于 2013-06-17T19:03:38.777 に答える
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."
于 2013-06-17T19:23:51.013 に答える