按回车键退出while循环

2024-04-20 05:21:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一个python新手,被要求使用while和for循环进行一些练习。我被要求做一个程序循环,直到用户只点击<Return>请求退出为止。到目前为止我有:

User = raw_input('Enter <Carriage return> only to exit: ')
running = 1
while running == 1:
    Run my program
if User == # Not sure what to put here
    Break
else
    running == 1

我试过了:(按照练习中的指示)

if User == <Carriage return>

还有

if User == <Return>

但这只会导致无效语法。 请你告诉我怎样用最简单的方法做这件事。 谢谢


Tags: to用户程序forinputrawreturnif
3条回答

你想要的东西;)

https://stackoverflow.com/a/22391379/3394391

import sys, select, os

i = 0
while True:
    os.system('cls' if os.name == 'nt' else 'clear')
    print "I'm doing stuff. Press Enter to stop me!"
    print i
    if sys.stdin in select.select([sys.stdin], [], [], 0)[0]:
        line = raw_input()
        break
    i += 1

实际上,我想你在寻找一个循环代码,直到从键盘上按下一个键。当然,程序不应该一直等待用户输入。

  1. 如果在python 2.7中使用raw_input(),或者在python 3.0中使用input(),程序将等待用户按键。
  2. 如果您不希望程序等待用户按键,但仍希望运行代码,那么您需要做一些更复杂的事情,在^{}模块中使用kbhit()函数。

实际上,在ActiveState中有一个配方,他们在其中解决了这个问题。请遵循这个link

我认为下面的链接也可以帮助你更好地理解。

  1. python cross platform listening for keypresses

  2. How do I get a single keypress at a time

  3. Useful routines from the MS VC++ runtime

我希望这能帮你完成工作。

我在找别的东西的时候(没有双关语)碰到了这一页。我用的是:

while True:
    i = input("Enter text (or Enter to quit): ")
    if not i:
        break
    print("Your input:", i)
print("While loop has exited")

相关问题 更多 >