2016-10-19 149 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 

这应该可以解决你的问题

一个