2011-12-26 97 views
0

例如,我有一些代碼:如何殺死while循環?

while (1): 
    bla-bla-bal 
    time.sleep(10) 

如何改變這種代碼,殺死這個循環(不是kill -9)或鍵盤interrrupt(按Ctrl-C)?

回答

3

使用斷裂或更改而

while True: 
    doit 
    if something: 
     break 

替代地,布爾變量:

i_go = True 
while i_go: 
    doit 
    if something: 
     i_go = False 
1

必須有存在該環不再需要執行的條件。取決於它是什麼(從現在的代碼中講出來有點太難了),你可以輸入一個break語句。

例子:

while True: 
    # doing stuff 
    if end_condition: 
     break # Valid ending condition 
+0

事實上,利用休息可以讓你,好了,跳出循環。現在,不要忘記,你也可以使用'while not end_condition:do stuff()'。 – 2011-12-26 10:35:19

0
while (1): 
    bla-bla-bal 
    time.sleep(10) 

我想你的意思是按Ctrl + C不能在time.sleep(10)工作。

如果是這樣,將它分成1秒大塊:

while (1): 
    bla-bla-bal 
    for i in range(10): 
     time.sleep(1)