0

私は子供向けのPythonプログラミングスペリングゲームを持っています.プレイヤーがゲームを終了した後に[はい]をクリックした場合はループ/再起動し、[いいえ]をクリックした場合はプログラムを終了する必要があります.

これが私のプログラミングのトップです。

#Declare Constants and Variables
Score = 0
PlayerAnswer = 0
playOn = 0
while playOn != "Yes":

これで終わりです。プレイヤーが easygui ボタンボックスで [はい] をクリックすると、ゲームを繰り返すことができるようにしたいと考えています。

playOn = easygui.buttonbox ("Do you want to play again?", choices = ["Yes", "No"])
if playOn == "Yes":
    Score = 0 #resets score count, if player wants to play again
    
elif playOn == "No":
        easygui.msgbox ("Bye for now. Hope you'll play the game again soon!")
テストして「はい」をクリックすると、プログラムはとにかく閉じます。

4

3 に答える 3

0
while (playOnBool):
    playOn = easygui.buttonbox ("Do you want to play again?", choices = ["Yes", "No"])
    if playOn == "Yes": playOnBool = True
    else: playOnBool = False

while ループでコードをラップする必要があります。

于 2014-11-19T00:44:53.627 に答える
0

最後のコードは、上部の「while」ループにはありません。

Pythonはインデントで行くので、最後にplayOn変数をセットしてからプログラムを終了します。

少なくとも「パス」の途中にコードが必要であると思います。そうしないと、Python はインデントされたブロック エラーを返します。

于 2014-11-19T00:45:37.037 に答える
0
while playOn != "Yes":
   playOn = easygui.buttonbox ("Do you want to play again?", choices = ["Yes", "No"])
   if playOn == "Yes":
      Score = 0 #resets score count, if player wants to play again

   elif playOn == "No":
     easygui.msgbox ("Bye for now. Hope you'll play the game again soon!")

Python では、コード ブロック内として解釈されるように、コード本体をインデントする必要があります。C# などの他の言語では、コードが内部method{ //code inside here}にある限り、コードはメソッド内で実行されます。

于 2014-11-19T00:49:26.427 に答える