如何在Python中检测回车输入?

问题描述 投票:1回答:3

我正在制作a子手游戏,

我几乎已经完成了,但是不起作用的一件事是,如果用户在输入时按下Enter键,只是说他们赢了。

因此,我一直试图找到方法来检测输入的输入,然后从那里continue返回到while循环。

我尝试做过

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

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

都没有用,

并且出于某种原因,它进入我的for循环,通过反复考虑以为它在我的答案单词内,即使我的答案单词是..一个单词而不是任何回车键,并且实质上是填充列表并使其赢得比赛,因此必须找到一种方法来检测回车键。

有什么想法吗?

python if-statement ascii enter ord
3个回答
0
投票

如果我们想获得输入要验证用户不仅仅是输入什么,我们可以创建一个while循环,要求输入,直到输入不同于空字符串为止。

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

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


0
投票

尝试使用正则表达式:

import re

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

在这里反转逻辑的另一个好处是,您捕获了不是大写或小写字母的任何内容。


0
投票

[当有人按下Enter键进行输入时,输入字符串为空白。因此,您应该只检查一个空字符串以检测Enter键:

guess = input("Enter guess:")
if not guess:
    #this means someone just hit the enter key
© www.soinside.com 2019 - 2024. All rights reserved.