2016-10-19 150 views
-1

在計數器類中的方法的整個計數器列表不起作用。我希望setcap設置cap,然後檢查cap以查看每個計數器是否已達到極限,因爲hr分鐘是時鐘應該知道的內容,我想在時鐘內對它們進行初始化。在類中初始化類實例

import time 

class counter(): 
    count = 0 
    cap = 0 
    def _init_(self):pass 
    def reset(self): 
     self.count = 0 
    def increment(self): 
     self.count += 1 
    def setcap(self,x): 
     print x 
     self.cap = x 
    def checkcap(self): 
     if self.cap > self.count: 
      return False 
     else: 
      return True 
class clock(): 
    _hr = counter() 
    _min = counter() 
    _sec = counter() 
    def _init_(self): 
     self._hr.setcap(23) 
     self._min.setcap(59) 
     self._sec.setcap(59) 
    def manualreset(self): 
     self._hr.reset() 
     self._min.reset() 
     self_sec.reset() 
    def tick(self): 
     if self._sec.checkcap(): 
      self._sec.reset() 
      self._min.increment() 
      if self._min.checkcap(): 
       self._min.reset() 
       self._hr.increment() 
       if self._hr.checkcap(): 
        self._hr.reset() 
     else: 
      self._sec.increment() 
newClock = clock() 

raw_input("Press enter to start clock") 
while newClock._hr != 24: 
    newClock.tick() 
    print str(newClock._hr.count).zfill(2) + str(newClock._min.count).zfill(2) + str(newClock._sec.count).zfill(2) 

回答

0

一個在你的代碼的問題是,你的初始化函數初始化。 嘗試使用

def __init__(self): 
    pass 

這應該可以解決你的問題

一個