我的老师告诉我们做一个Clock
类,它将hours
、minutes
和seconds
作为实例变量。然后他给了我们一系列不同的方法,我们必须完成他给我们的关于Clock
类的目标。你知道吗
我们的任务之一是实现一个名为print12()
的方法,它用冒号打印出时间,并在末尾附加AM或PM。他让我们输入print12(myclock)
来测试它。我的只有在输入myclock.print12()
时才起作用。我不确定他是犯了错误还是我实现的代码错了。你知道吗
这是我的密码:
class Clock:
def __init__(self, hour, minute, second):
self.hour = hour
self.minute = minute
self.second = second
def __str__(self):
return '%02d'%self.hour+':'+'%02d'%self.minute+':'+'%02d'%self.second
def print12(self):
if self.hour >= 13:
print(self,"P.M.")
else:
print(self,"A.M.")
def advance(self,s1):
if s1 == 'sec':
self.second += 1
elif s1 == 'min':
self.minute += 1
elif s1 == 'hour':
self.hour += 1
if self.second == 60:
self.second = 0
self.minute += 1
if self.minute == 60:
self.minute = 0
self.hour += 1
if self.hour == 24:
self.hour = 0
self.minute = 0
self.second = 0
以下是他测试程序的主要代码:
myclock = Clock(15,59,5)
print(myclock)
print12(myclock)
myclock.advance('sec')
print(myclock)
myclock.advance('min')
print(myclock)
这对我不起作用,但如果我用myclock.print12()
替换print12(myclock)
,它就会起作用。你知道吗
仅根据你的报告,老师的意思可能是两件事之一:
1)创建一个
Clock
方法,该方法按指示打印:2)在
Clock
之外创建一个函数,该函数以Clock
作为参数并按指示打印:你得问问你的老师他是什么意思。你知道吗
print12
函数只在Clock
类中定义,因此应该在该类的实例上调用它。因此,myclock.print12
是正确的方法。你知道吗相关问题 更多 >
编程相关推荐