2014-05-22 71 views
0

所以我做餅乾唱首歌的Python版本:d 到CPS添加到餅乾櫃檯,我用這個代碼:Python:如何暫停一段while True循環?

while True: 
    cps = b1*1 + b2*5 + b3*10 + b4*20 + b5*25 
    c=c+cps 
    time.sleep(60) 
    print('you now have %s cookies' %c) 

注:B1,B2等不同的cookie的數量生產者

問題是,在time.sleep暫停整個腳本,而不僅僅是while循環,你可以在上面看到

順便說一句,這是我的第一篇文章,如果我做錯了什麼遺憾:/ 感謝您閱讀本:P

+0

「暫停整個劇本」?你會期待它暫停嗎?腳本的一部分? – alfasin

+1

「睡眠暫停整個腳本」對於單線程腳本來說是正確的。 – yW0K5o

回答

0

你可以爲這個循環創建一個方法,然後爲這個循環啓動一個新的線程,你可以簡單地調用cal .sleep(),它只會使該線程暫停給定的時間而不是整個代碼。 檢查Link這將有助於多線程。

import threading 

def worker(): 
    """your code in this method""" 


t = threading.Thread(target=worker) 
t.start() 
+0

嗯...從來沒有聽說過線程之前。你可以用我的代碼給我一個例子嗎? –

+0

你檢查了我連接的鏈接嗎? –

+0

檢查編輯。 –

0

據我可以看到你有兩種選擇:

  1. 您測量每次通話的時間來更新cookieamount c和相應地成倍增加了。
  2. 你做一個新的線程。然後睡覺只是暫停你的線程來更新你的cookieamount。