系统中的用户分类非常复杂,不同用户组具有不同的行为和权限,并且可能会经常改变,管理非常困难。这时候我们可以独立地定义一些行为,然后根据需要来为不同的用户设置相应的行为能力。请设计一个Person 类,完成sing()、walk()、eat()等行为。
class Person(object):
def _ init_ (self, name):
assert isinstance (name, str), 'name must be string'
self. name = name
def sing (self):
print (self.namet' can sing.')
def walk (self):
print (self. namet' can walk.'.
def eat (self):
rt print (self.namet' can eat.')
p1 = Person(张
p1. sing ()
p1. walk ()
p1. eat()
编写一个队列类myQueue,完成队列的初始化、删除、入队和出队等操作。
class myQueue:
#构道方法,默就别列大小最大为1
def_init_(self, iterable=None, maxlen = 10):
if iterable--one:
self._content =
self. current ;
else:
self._conitent = list(iterable
self._current = len(iterable)
self. size =maxlen
if self. size < self. current:
self. size = self._current
#折构方法
def del (self)
del self._content
def setSize (self, size):
if size < self._current:
#如果缩小趴列,需要同时副除后面的元煮
for i in range (size, self._current) [::-1]:
del self._content [il
self._surrent = size
self. size = size
def appendRight (self, v):
if self. current < self. size:
self._content. append (v)
self._current = self._current +1
else:
print(' The queue is full')
def appendLeft(self, v):
if self. current < self. size:
self._content. inzert(o, v)
self. current = self. current + 1
else:
print (' The queue is full')
在在侧出8
def popleft(self):
if self._content
self._current = self._current -
keturn self. content, pop (C)
clse:
print(The queue iz eapty')
在右侧出8
def popRight (sele)
if seli._content:
self._current = self._current -
return self. content.pop0
else:
print 'The queue is empty')
def rotate (self, b):
if abs(k) > self._cuent:
print('k must <='+str (self._current))
return
self. content = self. content[-k:] +self, contentt:-k1
def reverse (slf);
self. content = self, contentl::-11
#显示当前则到中元肃个数
def len (selt).
returp self._currep
#使用printi打欧对象时,显示当后剧列中的元云
def str (sele);
return \
repn
_str
#期列置立
def clear (self):
self._sontent =n1
elf._curent =o
def isEnpty(self):
return not self._conten
return not seLr._content
def isFull (self):
return self. current == self._size
if _name_==main:
q1= myQueue ()
for i in range(1, 11):
q1. appendRight (i)
print (q1. isFul1())
q1. appendRight (11)
ql. setsize (20)
q1. appendRight(11)
print (q1._len_())
print(q1)
q1. popleft()
print (q1)
4377



被折叠的 条评论
为什么被折叠?



