【问题标题】:Break loop by keyboard input in python [duplicate]在python中通过键盘输入中断循环[重复]
【发布时间】:2016-05-07 22:48:51
【问题描述】:

我在通过按键中断循环时遇到问题。

我四处搜索并找到 msvcrt 模块,但它并没有解决我的问题。

这是我的代码。

while True:
    """some code"""
    if *keyboard_input: space* == True:
        break

我知道这是一个简单的问题,但我就是找不到要导入的正确模块。

谢谢!

【问题讨论】:

  • 连续循环?或者会提示用户并允许诸如“退出”之类的选项?如果中断会杀死整个程序,则无法通过键盘中断停止连续循环。
  • 这被标记为与打破循环无关的问题的重复。这不是重复的。

标签: python python-2.7


【解决方案1】:

使用拦截KeyboardInterrupt的try/except:

while True:
    try:
        # some code
    except KeyboardInterrupt:
        print 'All done'
        # If you actually want the program to exit
        raise

现在您可以使用 CTRL-C 跳出循环。如果您希望程序继续运行,请不要在最后一行包含raise 语句。

【讨论】:

    【解决方案2】:

    怎么样

    while True:
        strIn = raw_input("Enter text: ");
        if strIn == '\n':
            break;
    

    【讨论】:

      【解决方案3】:

      此循环将连续运行(并打印您输入的内容),直到您输入 enter 或 space+enter。

      基本上,您将无法直接在空间上中断。

      while True:
          s = raw_input(">>")
          if len(s) <= 1:
              break
          print s
      

      【讨论】:

      • 我想你的意思是if len(s) &gt;= 1: break
      猜你喜欢
      • 2016-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多