TypeError: functiontakes exactly 3 arguments (2 given)

2024-04-26 03:01:49 发布

您现在位置:Python中文网/ 问答频道 /正文

创建一个时间类并用小时和分钟初始化它。 制作一个addTime方法,该方法应该接受两个time对象并将它们相加

class Time():

  def __init__(self, hours, mins,sec):
    self.hours = hours
    self.mins = mins
    self.sec = sec

  def addTime(t1, t2,t3):
    t3 = Time(0,0,0)
    totalSecs += (t3[0] * 60 + t3[1]) * 60 + t3[2]
    totalSecs, sec = divmod(totalSecs, 60)
    hr, mins = divmod(totalSecs, 60)
    return (hr,mins,sec)

  def displayTime(self):
    print ("Time is",self.hours,"hours and",self.mins,"minutes.")

  def displayMinute(self):
    print (self.hours*60)+self.mins

a = Time(2,50,12)
b = Time(1,20,55)
c = Time.addTime(a,b)
c.displayTime()
c.displayMinute()

Tags: 方法selftimedefhrsect3print
1条回答
网友
1楼 · 发布于 2024-04-26 03:01:49

您的完整代码

class Time():

  def __init__(self, hours=0, mins=0,sec=0):
    self.hours = hours
    self.mins = mins
    self.sec = sec

  def addTime(self,timeList):
    totalSecs = 0
    for tm in timeList:
        timeParts=[tm.hours,tm.mins,tm.sec]
        totalSecs += (timeParts[0] * 60 + timeParts[1]) * 60 + timeParts[2]
    totalSecs, self.sec = divmod(totalSecs, 60)
    self.hours, self.mins = divmod(totalSecs, 60)


  def displayTime(self):
    print ("Time is",self.hours,"hours and",self.mins,"minutes.")

  def displayMinute(self):
    print (self.hours*60+self.mins)

a = Time(2,50,12)
b = Time(1,20,55)
c = Time()
c.addTime((a,b))
c.displayTime()
c.displayMinute()

输出:

Time is 4 hours and 11 minutes.
251

相关问题 更多 >