当前位置: 首页 > 面试题库 >

Python-无限while循环,中断用户输入

薛扬
2023-03-14
问题内容

我有一个无限的while循环,我想在用户按下某个键时退出。通常,我raw_input用来获取用户的响应。但是,我不必raw_input等待响应。我想要这样的东西:

print 'Press enter to continue.'
while True:
    # Do stuff
    #
    # User pressed enter, break out of loop

这应该很简单,但是我似乎无法弄清楚。我倾向于使用线程的解决方案,但我不想这样做。我该怎么做?


问题答案:

我认为您可以使用msvcrt做得更好:

import msvcrt, time
i = 0
while True:
    i = i + 1
    if msvcrt.kbhit():
        if msvcrt.getwche() == '\r':
            break
    time.sleep(0.1)
print(i)

可悲的是,仍然是特定于Windows的。



 类似资料:
  • 我已经尝试了一些while循环的方法,但似乎无法让它工作。我想一直请求用户输入,直到用户输入数字0为止,以下是我到目前为止的代码:

  • 我试图通过使用Kryonet进行通信来创建一个基本的IRC。我遇到的问题是,在我的代码中,我不能安全地使用允许用户键入和发送消息的main while循环,因为Scanner给出了一个错误,并且似乎跳过了对nextLine()的调用。我想做的是让扫描仪在继续之前等待用户输入。 更准确地说,程序将首先在行的开头放一个“:”,然后在用户按enter键后获取用户键入的任何内容,然后将其发送到服务器。我得

  • 我正在设置一个,它在用户输入整数之前一直执行。但是,按照我现在的方式,循环在输入整数后再次打印消息,然后程序正常执行。有人能建议一种方法来使输入整数后不再打印该消息吗?谢了!

  • 首先,感谢你阅读我的帖子并帮助我。 我试图编程,我定义了一个随机数,程序猜测这个随机数,然后,根据我说猜测太高或太低,程序再次猜测。 再次感谢!

  • 这是一个类的简单程序,它以分钟为单位提示用户他或她淋浴的时间长度(作为正整数,根据需要重新提示),然后打印同等数量的水瓶(作为整数)。 假设淋浴器每分钟使用1.5加仑水(192盎司),塑料瓶大小为16盎司 我的do-while循环成功地拒绝了负数和0,但是,如果我输入“foo”这样的文本,当提示输入淋浴的长度(以分钟为单位)时,程序将进入无限循环,永远运行该循环并打印“How long is yo

  • 我正在开发一个简单的python程序,其中包括创建一个圆圈“按钮”,然后让用户在圆圈内单击。如果他们没有点击圆圈,会出现一条消息,说明他们在圆圈外点击,应该再试一次。然而,在最后一部分,我得到了一个关于代码的无休止的循环,尽管使用了中断。是否有任何人可以帮助查看是否存在错误?谢谢