python class 内的 next(),last(),set() 写法
卡了一段时间不太知道怎么写,求大神解救我有一个class里面需要有next,last,与set()答案要这样:我搞不定-->d=MyDate(22,10,2012)>s=...
卡了一段时间不太知道怎么写,求大神解救
我有一个class 里面需要有next,last,与set()
答案要这样:我搞不定- -
>d= MyDate(22,10, 2012)
>s= Schedule(d, usage = "School", owner = "CaCaEgg") # d will set as current
>d1= MyDate(29,11, 2012)
>d2= MyDate(16,9, 2012)
>d3= MyDate(25,9, 2012)
>s.add(d1)
>s.add(d2)
>s.add(d3)
>prints.next()
29/11/2012
>prints.last()
25/9/2012
>d= MyDate(20,9, 2012)
>s.set(d)
>prints.next()
25/9/2012
>prints.last()
16/9/2012
我的程式码:class Schedule(calender):
def __init__(self,ddate,usage,owner):
self.usage = usage
self.owner = owner
self.current = []
self.current.append(str(ddate))
def __str__(self):
return str(self.current)
def add(self, x):
self.current.append(str(x))
def daylist(self):
return self.current
题目是这样:
请利用继承calender 来解决,请撰写一个Schedule的CLASS,拥有以下members method
members:
current, a MyDateclass
functions:
set(MyDate):set MyDateobject to self.current
next(): return the first MyDateobject in daylistafter self.current
last(): return the last MyDateobject in daylistbefore self.current 展开
我有一个class 里面需要有next,last,与set()
答案要这样:我搞不定- -
>d= MyDate(22,10, 2012)
>s= Schedule(d, usage = "School", owner = "CaCaEgg") # d will set as current
>d1= MyDate(29,11, 2012)
>d2= MyDate(16,9, 2012)
>d3= MyDate(25,9, 2012)
>s.add(d1)
>s.add(d2)
>s.add(d3)
>prints.next()
29/11/2012
>prints.last()
25/9/2012
>d= MyDate(20,9, 2012)
>s.set(d)
>prints.next()
25/9/2012
>prints.last()
16/9/2012
我的程式码:class Schedule(calender):
def __init__(self,ddate,usage,owner):
self.usage = usage
self.owner = owner
self.current = []
self.current.append(str(ddate))
def __str__(self):
return str(self.current)
def add(self, x):
self.current.append(str(x))
def daylist(self):
return self.current
题目是这样:
请利用继承calender 来解决,请撰写一个Schedule的CLASS,拥有以下members method
members:
current, a MyDateclass
functions:
set(MyDate):set MyDateobject to self.current
next(): return the first MyDateobject in daylistafter self.current
last(): return the last MyDateobject in daylistbefore self.current 展开
展开全部
class Schedule(calender):
def __init__(self, date, usage, owner):
self.usage = usage
self.owner = owner
# 保存所有的日期
self._list = [date, ]
self.current = date
def add(self, date):
self._list.append(date)
# 假定date对象是支持比较的
self._list.sort()
def set(self, date):
if date not in self._list:
self.add(date)
self.current = date
def next(self):
index = self._list.index(self.current) + 1
if index >= len(self._list):
print "no next"
else:
return self._list[index]
last类似,略
展开全部
class A:
def next:
def last:
def set:
。。。。。。。
def next:
def last:
def set:
。。。。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-20
展开全部
__iter__ 实现他就有了next
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不明白你要问什么,首先你要说明接口的语义,如果是日期比较的话,last是集合内最后一个日期??
我看输出的结果也不是,你写的代码仅仅记录str,这有什么意义,没看出来.....
我看输出的结果也不是,你写的代码仅仅记录str,这有什么意义,没看出来.....
追问
你好,题目有补充了
代码目前卡住next,last,set 不知道怎么写,所以只有一半
追答
不知道那个calender是什么来的,不过比较日期这个很简单
import datetime
class MyDate( datetime.datetime ):
pass
class Schedule( object ):
current = [ ]
def __init__( self ):
self.current = [ ]
def set( self ,date ):
self.current.append( date )
self.current.sort( )
def next( self ):
return self.current[ 0 ] if self.current else None
def last( self ):
return self.current[ -1 ] if self.current else None
d = MyDate( 2012 ,10 ,12 )
s= Schedule( )
d1= MyDate( 2012 ,11 ,29 )
d2= MyDate( 2012 ,9 ,16 )
d3= MyDate( 2012 ,9 ,25 )
s.set( d1 )
s.set( d2 )
s.set( d3 )
print( s.next( ) )
d = MyDate( 2012 ,9 ,20 )
s.set( d )
print( s.next( ) )
print( s.last( ) )
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把参数协商就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询