私は、AIでプレイできる岩石、紙、はさみシミュレータを構築しています。入力の種類のみを受け入れる
コードの一部は、表示する内容を入力するようにユーザーに求めます。プレイヤーが岩、紙、はさみをプレイしたい場合。たとえば、誰かが岩を使用したいと思っている場合、1を入力します。 私は、ユーザーが他の数字や文字を入力させないようにしたい、あるいはエラーを表示して再度質問するように入力します。
どうすればよいですか?の場合はを使用することを考えていますが、より良い方法が存在すると思います。 if
は問題ではありません使用
while True:
try:
selection = int(input("Input your choice:\n"))
if selection < 1 or selection > 3: #Valid number but outside range, don't let through
raise ValueError
else: #Valid number within range, quit loop and the variable selection contains the input.
break
except ValueError: #Invalid input
print("Enter a number from 1 to 3.")
'if'を使うと、あなたの必要性を解決する優れた方法です。 – DyZ
そして、ユーザーがCtrl +文字を使用しないようにするにはどうすればよいですか? Ctrl +文字を押すとプログラムがクラッシュします。 – prossellob
'int()'を呼び出す前に入力を検証する必要があります。例外処理について読んでください。 – DyZ