CMDまたはpythonシェルで実行するだけのこのワードアンスクランブラーゲームがあります。ユーザーが単語を正しくまたは間違って推測すると、「もう一度再生するには何かキーを押してください」と表示されます
どうすればやり直せますか?
CMDまたはpythonシェルで実行するだけのこのワードアンスクランブラーゲームがあります。ユーザーが単語を正しくまたは間違って推測すると、「もう一度再生するには何かキーを押してください」と表示されます
どうすればやり直せますか?
ユーザーからの入力を評価した後にプログラムを終了させないでください。代わりに、これをループで実行します。たとえば、関数を使用していない単純な例:
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()
出力は同じです。
次のスタイルでも機能します。!
見てみな。
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()
これは、関数(ステートメントのセット) を繰り返し実行する方法です。
気に入っていただければ幸いです:) :} :]
ループを試してください:
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.")
コード ブロックを再実行するために使用できるテンプレートを次に示します。#code は、1 行以上の Python コードのプレースホルダーと考えてください。
def my_game_code():
#code
def foo():
while True:
my_game_code()
単純なwhile
ループ を使用できます。
line = "Y"
while line[0] not in ("n", "N"):
""" game here """
line = input("Play again (Y/N)?")
お役に立てれば