2016-08-06 16 views
-1
if mssge <= answr: 
    print("Too High, Try Again") 
elif mssge >= answr: 
    print("Too Low, Try Again") 
else: 
    print("Nice Job! R to play again; Q to quit") 

    if event.type == pygame.Q: 
      sys.exit() 

    else event.type == pygame.R: 
      break 
      gotoline(7) 

私はしばらくの間ゲームを作ってきましたが、私はちょうどpythonを始めました。私は退屈なゲームを推測していますが、17行目のインデントエラー、またはifステートメントの最後のエラーが続きます。インデントエラーif文

+1

ところで、コードブロックの開始を'if event.type'があまりにもインデントされていると、' print'呼び出しと同じ字下げにする必要があります。もちろん、 'else event.type == pygame.R'は' elif event.type == pygame.R'でなければなりません。 –

答えて

2

する必要がありますelse句が条件になりません。あなたはelif句としてそれを書くことができるか、ストレートフォワードelse.注意として、ところで、あなたは正しいコードを作るために最初の2つの条件から=を削除する必要があること:

if message_1 < rand_numb: 
    # <= replaced with < in this condition^
    print("Too High, Try Again") 
elif message_1 > rand_numb: 
    print("Too Low, Try Again") 
    # >= replaced with > in this condition^
else: 
    # No condition on else^
    print("Nice Job! R to play again; Q to quit") 
+0

まだインデントエラーを取得しています – CabbageOverlord

+0

IndentationErrorの行を見てください。それは他の問題のため、他人の下にあります。 –

+0

ファイル "number_game.py"、行17 else ^ IndentationError:インデントが外部インデントレベルと一致しません – CabbageOverlord

0

elseの文言に条件を付けることはできません。 Elseは、先にif/elifsで捕捉されたではなく、であるすべてのケースを捕まえることになっています。

あなたの最初のコードブロックが

if message_1 <= rand_numb: 
    print("Too High, Try Again") 
elif message_1 >= rand_numb: 
    print("Too Low, Try Again") 
else: # <------ no conditions here! 
    print("Nice Job! R to play again; Q to quit") 

if event.type == pygame.Q: 
    sys.exit() 

else event.type == pygame.R: 
    gotoline(5) 
    break 
+0

まだ "else:"にインデントエラーが表示される – CabbageOverlord

+0

更新された回答が正しくありません。 [私のコメント](http://stackoverflow.com/questions/38803093/indentation-error-on-if-statement#comment64975319_38803093)をご覧ください。それはそれを投稿する前に回答コードをテストする良いアイデアです... –