在python中退出循环

时间:2015-10-01 12:06:22

标签: python loops

我想通过按Ctrl-C退出此循环。它似乎不适合我的方式。有任何想法吗?谢谢你提前

import pyautogui, time

time.sleep(5)
distance = 150
print('Press Ctrl-C to quit.')
try:
    while True:
        pyautogui.dragRel(distance, 0, duration=0.2)
        distance = distance - 5
        pyautogui.dragRel(0, distance, duration=0.2)
        pyautogui.dragRel(-distance, 0, duration=0.2)
        distance = distance - 5
        pyautogui.dragRel(0, -distance, duration=0.2)
except KeyboardInterrupt:
    print('\nDone.')

2 个答案:

答案 0 :(得分:0)

根本不需要sleep命令,以下命令应该在ctrl-C中断:

n = 0
import time
try:
    while True:
        n += 1
        print n
except KeyboardInterrupt:
    print('\nDone.')

这假设您在Linux(我正在测试的地方)上运行,在其他可能不同的操作系统上运行。
如果上述方法不起作用,则必须有一些关于终端的信息,用于运行代码,而不是中断。 试试python命令行:

a = raw_input()

然后按Ctrl-C
你应该得到这样的东西:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyboardInterrupt

上面的raw_input()假设python 2.7用于python3:

a = input()

期待相同的结果。

答案 1 :(得分:0)

我已经在3个不同的终端上测试了你的代码(在Ubuntu上)。当我将光标放到终端上时,左键单击并按Ctrl-C,程序成功终止。

UPD:这个程序在完成后只需按Ctrl-C终止就好了:-)(不需要点击)