是否有人会在python3中提供打破基于时间的循环的解决方案。我花了几个小时尝试了不同的食谱来解决这个问题,但没有那些对我有用。这是python3代码,我想在没有控制的情况下在运行期间打破循环" C"。所以像E-Stop一样工作。任何键盘输入都会完全循环。
from time import sleep
def blink():
print('Hit enter to quite')
sleep(1)
while 1: blink()

从时间导入睡眠
def blink(): 打印('点击进入相当') 睡眠(1)
1:闪烁()
答案 0 :(得分:0)
如果您想退出键盘输入(例如输入),那么您需要使用input()
实际获取用户的输入:
while True:
user_input = input("Press enter to quit")
if user_input == "":
break
这将等待用户并在他们刚刚点击enter
时中断。如果你想从一个方法中做到这一点,你应该让该方法返回一个值:
def blink():
user_input = input("Press enter to quit")
if user_input == "":
return True
return False
done = False
while not done:
done = blink()
如果您想要非阻塞输入(例如,要打印脚本"按Enter键退出"每按一次直到输入(" \ r"),您可以使用{ {1}}(仅限Windows):
msvcrt
但是,请记住,时间和非阻塞(称为异步)行为可能会导致奇怪的错误,除非您真正理解您的代码,否则应该避免。