【发布时间】:2013-05-15 15:24:29
【问题描述】:
这个问题几乎说明了一切。我已经看到了类似问题的答案,但不是这个问题的确切答案,看来我需要一个更准确的答案。请记住,我对编程比较陌生,并且不会真正理解您为我设置的任何高墙代码。请尽量保持简单。 :(
我所知道的是,这在 BASIC 中非常简单(基本?),这是我有一些经验的一种语言。
请记住,我需要按下一个特定的键,而不仅仅是任何键。
顺便说一句,我在 Mac 上。
【问题讨论】:
标签: python python-3.x
这个问题几乎说明了一切。我已经看到了类似问题的答案,但不是这个问题的确切答案,看来我需要一个更准确的答案。请记住,我对编程比较陌生,并且不会真正理解您为我设置的任何高墙代码。请尽量保持简单。 :(
我所知道的是,这在 BASIC 中非常简单(基本?),这是我有一些经验的一种语言。
请记住,我需要按下一个特定的键,而不仅仅是任何键。
顺便说一句,我在 Mac 上。
【问题讨论】:
标签: python python-3.x
最简单的方法是:
x = input("Press w")
if x == "w":
#Code
或者你可以使用 enter 并去掉 if 语句:
input("Press Enter to Continue...")
#Code
有更好的方法,但你要求的东西很简单
【讨论】:
Press ww Traceback (most recent call last): File "/Users/robertaronson/Desktop/helloworld.py", line 1, in <module> x = input("Press w") File "<string>", line 1, in <module> NameError: name 'w' is not defined
你想要的是一个关键的听众。 input 和 raw_input 只会在他们看到 EOL 或 EOF 字符时返回(例如,您按下回车键)。我假设您正在制作某种游戏(因为您想接受特定的键)?
在这种情况下,您需要一个 keylistener,这将使其相关:Key Listeners in python?
【讨论】:
注意:由于您请求 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
通过这样做,程序的执行将被困在无限循环中,并且会一直要求按下您想要的键,直到用户终止应用程序或满足要求。
【讨论】: