私はPythonでHangmanのゲームに取り組んでいます。私は試してみた入力のユーザー検証が必要ですが、なぜ動作しないのか分かりません。Hangmanユーザー入力の検証
私の仕事は、1.空の入力、2.非整数、空でない入力、3.範囲外の入力のインデックスのための "エラー"メッセージを表示することでした。範囲外のインデックスでは、すでにプログラム内のリストから単語を選択するために、ユーザーに0〜9の整数を要求しています。
def getLetterFromUser(totalGuesses):
while True:
userInput = input("\nPlease enter the letter you guess:")
if userInput == '' or userInput == ' ':
print("Empty input.")
elif userInput in totalGuesses:
print("You have already guessed that letter. Try again.")
elif userInput not in 'abcdefghijklmnopqrstuvwxyz':
print("You must enter an alphabetic character.")
else:
return userInput
明快にするために、getLetterFromUserの後続の呼び出しはwhileループ内にあり、これらの条件を繰り返し確認します。
編集:私は属していないものを取り出しました。ありがとうございました。しかし、私の問題は、入力がアルファベットではないことを私に伝えているということです。入力の長さ(1つの文字)は2で、ヌル文字を数えなければ理にかなっていません。
あなたはどのような問題やエラーが発生していますか? – YXD
なぜユーザーは単語を選択するのですか?「文字を推測する」プロンプトループでそのオプションがなぜループするのですか? – Edwin
@エドウィン私の謝罪は、それが無意識にそこに貼り付けられたならば。他の場所と同じように無視してください。 他人に:私が受け取っているエラーは、私が入力したものであっても、それは正しいことではないということです。通常、「アルファベット文字を入力する必要があります」と表示されます。また、私は好奇心が強いので、入力の長さ(1文字)とその常に2を確認しました。理由はわかりません。 – trainreq