如何创建返回数据的类

2024-10-03 06:28:47 发布

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

我创建了一个正确返回时间hh:mm格式的代码,但是当我在另一个文件中使用该代码时,输出与预期的结果相比是不正确的

例如:

它应返回以下内容: 我们五点起床 我们五点半起床 到06:10我们又困了 最后一班电车23点发车 今天23:59结束 明天00:00开始

但我的回答是: 我们五点起床 我们五点半起床 到06:10我们又困了 最后一班电车23点发车 今天23:59结束 明天24:00开始

第24小时应该是00:00,我不知道如何解决这个问题

class MilClock:
    def __init__(self, hours, minutes):
        self.hours = int(hours)
        self.minutes = int(minutes)
    def __str__(self):
        return f"{self.hours:02}:{self.minutes:02}"
    def addOne(self):
        self.minutes += 1
        if self.minutes >= 60:
            self.minutes = 0
            self.hours += 1

''下一个文件使用上面的代码''

from milclock import *
def addMinutes(clock, n):
    for x in range(n):
        clock.addOne()
hallClock = MilClock(5,0)
print('We wake up at', hallClock)
addMinutes(hallClock, 30)
print('We get up at', hallClock)
addMinutes(hallClock, 40)
print('We are sleepy again by', hallClock)



wristWatch = MilClock(23,0)
print('Last tram leaves at', wristWatch)
addMinutes(wristWatch,59)
print('Today ends at', wristWatch)
wristWatch.addOne()
print('Tomorrow starts at', wristWatch)

Tags: 文件代码selfdefatweprinthours
1条回答
网友
1楼 · 发布于 2024-10-03 06:28:47

addOne()的定义中,尝试为小时添加一个与分钟类似的测试:

def addOne(self):
    self.minutes += 1
    if self.minutes >= 60:
        self.minutes = 0
        self.hours += 1
        if self.hours >= 24:
            self.hours = 0

相关问题 更多 >