2012-10-20 32 views
0

我很新的蟒蛇,並正在採取在我的學校的課程,他們給我做,從1或2小時倒計時,也顯示了分秒和小時全時段的時鐘的功課。我開始執行代碼並定義了2個函數,秒和分鐘。秒數從60秒減少到幾分鐘,除了1分鐘以外,其他時間都是一樣的,我嘗試了它們,然後他們一起工作,然後我一起嘗試了它們,但卻無法讓它們並排工作。我怎樣才能讓他們做到這一點,而且,如果我只是使用一個倒數的變量?任何幫助表示讚賞。你如何讓兩個函數並肩工作在python中?

from time import * 
def seconds(): 
    while 1==1: 
     time_s = 60 
     while time_s != 0: 
      print (time_s) 
      sleep(1) 
      time_s=time_s-1 

      os.system([ 'clear', 'cls' ][ os.name == 'nt' ]) 

def minutes(): 
    while 1==1: 
     time_m = 60 
     while time_m!= 0: 
      print (time_m) 
      sleep(60) 
      time_m = time_m-1` 

此外,縮進可能會搞砸。

+0

是的,他們這樣做,我只允許使用一定量的moduals像時間線程,等我不許用我的電腦的內部時鐘,因爲它太「簡單」,但謝謝你的提示,我會記得備查。 –

回答

0

我覺得你的程序需要關於線程

這個鏈接應該幫助ü與:-)

http://www.doughellmann.com/PyMOTW/threading/

+0

謝謝,我實際上最終使整個計時器在一個單一的def。但我最終會使用線程! –

0

你想要完全的程序

import threading 
    import logging 
    import time 

    time_m=60 
    time_s=60 
    time_h=24 

    print ('Karthick\'s death Clock Begins') 

    def seconds(): 
     while 1==1: 
      global time_s,time_m,time_h 
      time_s = 60 
      while time_s != 0: 
       print (time_h,':',time_m,':',time_s) 
       time.sleep(1) 
       time_s=time_s-1 

       os.system([ 'clear', 'cls' ][ os.name == 'nt' ]) 

    def minutes(): 
     while 1==1: 
      global time_m 
      time_m = 60 
      while time_m!= 0: 
       time.sleep(60) 
       time_m = time_m-1 

    def hours(): 
     while 1==1: 
      global time_h 
      time_h = 24 
      while time_h!= 0: 
       time.sleep(360) 
       time_h = time_h-1 

m=threading.Thread(name='minutes',target=minutes) 
s=threading.Thread(name='seconds',target=seconds) 
h=threading.Thread(name='hours',target=hours) 

m.start() 
s.start() 
h.start() 

欣賞節目的很多變更:-)!

2

由於有60秒在一分鐘。你不需要分別計算它們。只需計算秒數總和併除以60即可顯示分鐘數,以60爲模可顯示秒數。

相關問題