宿題がありますが、本当に解決策が必要です。私は昨日からこれをやろうとしていますが、方法がわかりません。
プログラムは文字または数字を生成して印刷する必要があり、ユーザーはそれをできるだけ早く入力してEnterキーを押す必要があります。ゲームは30秒後に終了します。
ゲームに時間制限を設ける方法がわかりません。私はstackoverflowを検索していましたが、有用なものは何も見つかりませんでした。私を助けてください。
**これが私がこれまでに行ったことです。SYSS.STDERの回答からコードを試しましたが、30秒が経過するとゲームも終了するはずなのでうまくいきませんが、このコードでは最後の文字を入力するとゲームが終了します。
ループは終了するまで停止せず、期限を過ぎていることを発見します。タスクは、時間が経過するにつれてすぐに進行中に中断される必要があります。
max_time =30
start_time = time.time() # remember when we started
while (time.time() - start_time) < max_time:
response = "a" # the variable that will hold the user's response
c = "b" #the variable that will hold the character the user should type
score = 0
number = 0
c = random.choice(string.ascii_lowercase + string.digits)
print(c)
number = number + 1
response = input("Type a letter or a number: ") #get the user's response
if response == c and (time.time() - start_time) < max_time:
# if the response from the previous loop matches the character
# from the previous loop, increase the score.
score = score + 1