0

我正在做一个刽子手游戏,

我几乎完全完成了,但不起作用的一件事是,如果用户输入,按下回车键,它只是说他们赢了。

所以我一直在尝试寻找检测输入输入的方法,然后从那里continue回到while循环。

我试过做

if guess == ord(13):
   print("Please enter a letter.")
   continue

if guess == '\r'
    print("Please enter a letter.")
    continue

两者都不是真正的工作,

并且由于某种原因,它进入了我的 for 循环,通过认为它在我的答案词中进行迭代,即使我的答案词是 .. 一个词而不是任何输入键,并且基本上填充列表并使其赢得游戏,所以必须找到一种方法来检测回车键。

有任何想法吗?

4

3 回答 3

0

尝试使用正则表达式:

import re

if not re.match('[a-zA-Z]', guess):
    print("Please enter a letter.")
    continue

在这里颠倒你的逻辑的额外好处是你可以捕捉到任何不是大写或小写字母的东西。

于 2019-11-06T14:58:06.833 回答
0

当有人按回车键进行输入时,输入字符串为空白。所以你应该只检查一个空字符串来检测 Enter 键:

guess = input("Enter guess:")
if not guess:
    #this means someone just hit the enter key
于 2019-11-06T15:04:40.117 回答
-1

如果我们想要获取输入并且想要验证用户没有简单地输入任何内容,我们可以创建一个while循环调用输入,直到输入与空字符串不同:

guess = ""
while guess != "":
    guess = input("Please Enter a letter!")

我们可以将它放在您的代码中的任何位置,然后继续并guess根据需要使用。

于 2019-11-06T14:58:43.777 回答