如何用输入取消循环



我正在制作一个python控制台游戏,其中一个命令有一个循环,持续大约30秒。这可能需要更长的时间,具体取决于您的级别。当你达到更高的级别时,循环会持续数分钟。我收到了很多投诉,有人要求我添加取消功能。我想不出如何提前取消循环。如何使用Input或其他方法提前取消循环?

  1. 接受字符
  2. 如果字符是Q(表示退出(,则写break

语法:

loop()
{
char c
input(c)
if(c=='Q' or c=='q')
{
break
}
//other things in loop goes here.
}

如果希望循环在后台运行,可能需要异步或线程。

或者你只是想取消循环,也许你需要信号来处理Ctrl-C或其他什么。

import signal
cancel_loop = False
def handler(signum, frame):
print('sigint received')
cancel_loop = True
signal.signal(signal.SIGINT, handler)
while not cancel_loop:
# your code ...

最新更新