我在学校有一个任务,我无法解决,我被困住了。
任务是构建一个程序,在 EasyGUI 消息框中无限吐出随机数(是的,我知道 EasyGUI 是旧的 xD)
这是我的源代码:
导入easygui
while True:
easygui.msgbox(random.randint(-100, 100))
问题是,当我运行它时,我无法摆脱它。我应该被允许使用 ctrl+C 但这不起作用。我错过了什么吗?
先感谢您!
你的问题是你在使用easygui时不能使用ctrl-c,你可以在使用idle时使用ctrl-c,例如你可以做
for i in range(1, 10000000000000000000000000000000000000000000000):
print(i)
这会起作用,它不会在easygui上,因为我会一帧一帧地吐出。它会减慢
对于easygui,使用信号处理程序似乎不是一件容易的事,如果您可以在x
按下时退出,您可以执行以下操作:
while True:
e = easygui.msgbox(random.randint(-100, 100))
if e is None:
break
e
"OK"
如果您按 ok 或 None 如果按,则将是一个字符串,x
因此这可能是退出和结束循环的最简单方法。