我的老師告訴我們做一個Clock
班,將hours
,minutes
和seconds
作爲實例變量。然後,他給了我們一系列不同的方法來完成他給我們的有關Clock
課程的目標。Python班是我犯了一個錯誤還是我的老師[簡單]
我們的一項任務是實施一種名爲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)
會工作。
我們不能猜出你老師的意圖。你應該問他澄清。 – Yoel 2014-09-22 20:24:48
我認爲教官正在嘗試引入classmethods .. – Ram 2014-09-22 20:42:24