1

CMDまたはpythonシェルで実行するだけのこのワードアンスクランブラーゲームがあります。ユーザーが単語を正しくまたは間違って推測すると、「もう一度再生するには何かキーを押してください」と表示されます

どうすればやり直せますか?

4

9 に答える 9

8

ユーザーからの入力を評価した後にプログラムを終了させないでください。代わりに、これをループで実行します。たとえば、関数を使用していない単純な例:

phrase = "hello, world"

while input("Guess the phrase: ") != phrase:
    print("Incorrect.")  # Evaluate the input here
print("Correct")  # If the user is successful

これにより、次のように出力され、ユーザー入力も表示されます。

Guess the phrase: a guess
Incorrect.
Guess the phrase: another guess
Incorrect.
Guess the phrase: hello, world
Correct

これは明らかに非常に単純ですが、ロジックはあなたが求めているもののように聞こえます。ロジックがどこに適合するかを確認するための関数が定義されている、もう少し複雑なバージョンは次のようになります。

def game(phrase_to_guess):
    return input("Guess the phrase: ") == phrase_to_guess

def main():
    phrase = "hello, world"
    while not game(phrase):
        print("Incorrect.")
    print("Correct")

main()

出力は同じです。

于 2012-07-12T19:28:37.957 に答える
5

次のスタイルでも機能します。!

見てみな。

def Loop():
    r = raw_input("Would you like to restart this program?")
        if r == "yes" or r == "y":
            Loop()
        if r == "n" or r == "no":
            print "Script terminating. Goodbye."
    Loop()

これは、関数(ステートメントのセット) を繰り返し実行する方法です。

気に入っていただければ幸いです:) :} :]

于 2016-12-04T09:56:31.920 に答える
2

ループを試してください:

while 1==1:
    [your game here]
    input("press any key to start again.")

または、派手になりたい場合:

restart=1
while restart!="x":
    [your game here]
    input("press any key to start again, or x to exit.")
于 2012-07-12T19:28:44.210 に答える
2

コード ブロックを再実行するために使用できるテンプレートを次に示します。#code は、1 行以上の Python コードのプレースホルダーと考えてください。

def my_game_code():
    #code

def foo():
    while True:
        my_game_code()
于 2012-07-12T19:29:21.137 に答える
1

単純なwhileループ を使用できます。

line = "Y"

while line[0] not in ("n", "N"):
    """ game here """
    line = input("Play again (Y/N)?")

お役に立てれば

于 2012-07-12T19:32:12.047 に答える