我正在制作a子手游戏,
我几乎已经完成了,但是不起作用的一件事是,如果用户在输入时按下Enter键,只是说他们赢了。
因此,我一直试图找到方法来检测输入的输入,然后从那里continue
返回到while循环。
我尝试做过
if guess == ord(13):
print("Please enter a letter.")
continue
和
if guess == '\r'
print("Please enter a letter.")
continue
都没有用,
并且出于某种原因,它进入我的for循环,通过反复考虑以为它在我的答案单词内,即使我的答案单词是..一个单词而不是任何回车键,并且实质上是填充列表并使其赢得比赛,因此必须找到一种方法来检测回车键。
有什么想法吗?
如果我们想获得输入要验证用户不仅仅是输入什么,我们可以创建一个while
循环,要求输入,直到输入不同于空字符串为止。
guess = ""
while guess != "":
guess = input("Please Enter a letter!")
我们可以将其放在您的代码中的任何位置,然后根据需要继续使用guess
。
尝试使用正则表达式:
import re
if not re.match('[a-zA-Z]', guess):
print("Please enter a letter.")
continue
在这里反转逻辑的另一个好处是,您捕获了不是大写或小写字母的任何内容。
[当有人按下Enter键进行输入时,输入字符串为空白。因此,您应该只检查一个空字符串以检测Enter键:
guess = input("Enter guess:")
if not guess:
#this means someone just hit the enter key