1

这个问题几乎说明了一切。我已经看到了类似问题的答案,但不是这个问题的确切答案,看来我需要一个更准确的答案。请记住,我对编程比较陌生,并且不会真正理解您为我设置的任何高墙代码。请尽量保持简单。:(

我所知道的是,这在 BASIC 中非常简单(基本?),这是我有一些经验的一种语言。

请记住,我需要按下一个特定的键,而不仅仅是任何键。

我在Mac上,顺便说一句。

4

3 回答 3

4

最简单的方法是:

x = input("Press w")

if x == "w":
    #Code

或者您可以使用 enter 并摆脱 if 语句:

input("Press Enter to Continue...")
#Code

有更好的方法,但你要求一些简单的东西

于 2013-05-21T00:25:31.963 回答
2

你想要的是一个关键的听众。 inputraw_input只会在他们看到 EOL 或 EOF 字符时返回(例如,您按下回车键)。我假设您正在制作某种游戏(因为您想接受特定的键)?

在这种情况下,您需要一个 keylistener,这将使其相关:Python 中的 Key Listeners?

于 2013-05-21T03:01:35.667 回答
0

注意:由于您请求 Python 3.x,我将使用input(). 对于 Python 2.x,请使用raw_input().

如果你想检查一次,你可以做

# Request a key to be pressed by the user
res = input("Waiting for 'w' to be pressed...")
if res == "w":
    # Do something if w was pressed
else:
    # Do something if other then w was pressed

# Code after check

这样做的缺点是,无论您对检索到的键值是否满意,检查完成后您的程序都会继续执行。

如果您想等待 - 如在条件满足之前不要继续 - 对于您可以执行的特定密钥

while True:
    res = input("Waiting for 'w' to be pressed...")
    if res == "w":
        # Do something if w was pressed and exit loop
        break
    else:
        # Do something if other then w was pressed
        # followed by another iteration of the loop

# Code after check

通过这样做,程序的执行将卡在无限循环中,并且会一直要求按下您想要的键,直到用户终止应用程序或满足要求。

于 2021-12-10T10:45:37.143 回答