我正在使用Python的Hangman遊戲,我需要用戶驗證輸入,我曾嘗試過,但我不知道爲什麼它不工作。Hang子手用戶輸入驗證
我的任務是讓「錯誤」消息爲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循環中,以便它重複檢查這些條件。
編輯:我拿出什麼不屬於。謝謝。然而,我的問題是,它仍然告訴我輸入不是在字母表中,當它是。輸入的長度(單個字符)是2,除非它計算空字符,否則這是沒有意義的。
您遇到什麼問題或錯誤? – YXD 2012-02-15 00:44:10
爲什麼你要讓用戶選擇這個詞,爲什麼在「猜字母」提示循環中有這個選項? – Edwin 2012-02-15 00:46:41
@Edwin我很抱歉,如果在不知不覺中粘貼在那裏。無視它,因爲它在別處。 對其他人:我收到的錯誤是,不管我輸入什麼,它都是不對的。它通常會說「你必須輸入一個字母字符」,我會這樣做。另外,我很好奇,所以我檢查了輸入的長度(單個字符)及其總是2.我不知道爲什麼。 – trainreq 2012-02-15 00:48:57