2017-09-14 70 views
0

返回self.seconds.splitSeconds()工作不正常的语句,所以指导我用正确的语法正确调用一个类的实例方法

class Time: 
    def convertToSeconds(self): 
     self.minutes = self.hours * 60 + self.minutes 
     self.seconds = self.minutes * 60 + self.seconds 
     return self.seconds 

    def splitSeconds(seconds): 
     self.hours = seconds // 3600 
     self.minutes = (seconds % 3600) // 60 
     self.seconds = seconds % 60 
     return self 

    def increment(self, seconds): 
     self.seconds = self.convertToSeconds() + seconds 
     return self.seconds.splitSeconds() 

    def printTime(time): 
     print(str(time.hours)+":"+str(time.minutes)+":"+str(time.seconds)) 

time = Time() 
time.hours = 11 
time.minutes = 30 
time.seconds = 45 

seconds = 40 

time.increment(seconds) 
time.printTime() 

回答

0

我相信你需要添加self作为属性为splitSeconds

def splitSeconds(self, seconds) 

此外,你的回报的说法应该是

return self.splitSeconds(self.seconds) # edited based on comments 

你应该调用在实例实例方法,而不是别的。

+0

我得到了解决的说法应该是,返回self.splitSeconds(self.seconds)正如你所说高清splitSeconds(自我,秒) – Sakshi

0

您需要__init__来初始化你Time类,如:

class Time: 
    def __init__(self, hours, minutes, seconds): 
     self.hours = hours 
     self.minutes = minutes 
     self.seconds = seconds 

    def convertToSeconds(self): 
     self.minutes = self.hours * 60 + self.minutes 
     self.seconds = self.minutes * 60 + self.seconds 
     return self.seconds 

    def splitSeconds(self, seconds): 
     self.hours = seconds // 3600 
     self.minutes = (seconds % 3600) // 60 
     self.seconds = seconds % 60 


    def increment(self, seconds): 
     self.seconds = self.convertToSeconds() + seconds 
     return self.seconds 

    def printTime(self): 
     print(str(self.hours)+":"+str(self.minutes)+":"+str(self.seconds)) 

time = Time(11,30,45) 

seconds = 40 
time.increment(seconds) 
time.printTime() 
+0

但是,我真的不知道你的'splitSeconds'函数。只需复制你的片段。但是,你可以参考它。 – Will

+0

splitSeconds方法分割秒数并生成时间(小时:分钟:秒) – Sakshi

相关问题