Enterキーを押さずに任意のキーを押して、Pythonプログラムを終了するにはどうすればよいですか。したがって、ユーザーが「c」と入力すると、Enter キーを押さずにプログラムが自動的に終了するはずです。
これまでの私のコード:
print("Hi everyone! This is just a quick sample code I made")
print("Press anykey to end the program.")
Enterキーを押さずに任意のキーを押して、Pythonプログラムを終了するにはどうすればよいですか。したがって、ユーザーが「c」と入力すると、Enter キーを押さずにプログラムが自動的に終了するはずです。
これまでの私のコード:
print("Hi everyone! This is just a quick sample code I made")
print("Press anykey to end the program.")
通常、ユーザー コマンドを取得するためにinput('>> ')
(またはraw_input('>> ')
Python3 と共に) を使用します。ただし、これには、ユーザーがデータを入力した後に送信する必要があります。したがって、あなたの例では、ユーザーは c と入力してから Enter キーを押します。
Windows を使用している場合は、この答えに近いと思います。この例では、( を使用して) キーボード ヒットを検出するために使用できるライブラリmsvcrtmsvcrt.kbhit()
をインポートします。したがって、ユーザーが c と入力すると、コードは Enter キーを待たずにそのキーストロークに応答できます。もちろん、目的のコードを実行する (つまり、アプリケーションを終了する) 前に、キーを処理する (つまり、ボタンが実際に AC であったことを確認する) 必要があります。
編集:while()
この回答は、何かを実行したり、ユーザー入力を待ったりするループがあることを前提としています。次のような:
import msvcrt
print("Hi everyone! This is just a quick sample code I made")
print("Press anykey to end the program.")
while(True):
# Do stuff here.
if msvcrt.kbhit():
# The user entered a key. Check to see if it was a "c".
if (msvcrt.getch() == "c"):
break
elif (msvcrt.getch() == <some other character>):
# Do some other thing.
もちろん、キーボードがヒットしたときにプログラムを終了するには、キーが「c」であるかどうかを確認する部分を取り除くだけです。