目标
(1)了解标准库time中time函数的用法
(2)了解如何定义一个类
(3)理解队列结构的特点。
(4)理解入队和出队时超时功能的实现。
实验内容
编写程序,实现自定义类、模拟队列结构。要求实现入队、出队以及修改队列大小和判断队列是否为空,是否为满的功能,同时要求在入队时如果队列已满则等待指定时间,出队时如果队列已空则等待指定时间等辅助功能。自选现实生活案例演示类的该类的使用方法。
实验说明:
本实验通过自定义实现队列,其中要考虑到超时辅助功能,通过利用python中内置的列表来实现队列,其中通过列表的pop()函数实现出队,通过insert(0,item)来实现入队操作。然后通过现实生活中打印机工作的例子,打印机会将要打印的任务放到队列中,按照队列的顺序进行打印。通过模拟打印机的工作过程来展示自定义队列的使用方法。
实验源代码
队列类
import time
class Queue:
def __init__(self, size, times):
# 如果队列满则等待时间
self.times = times
# 记录队列容量的最大值
self.size = size
self.items = []
def isEmpty(self):
return len(self.items) == 0
def get_size(self):
return len(self.items)
def isFull(self):
return len(self.items) == self.size
def setSize(self, size):
# 如果增大队列大小,直接修改队列中的size属性
if size >= self.size():
self.size = size
# 如果缩小队列,则需要删除队列中后面的元素
else:
self.items = self.items[self.size - size:]
def enqueue(self, item)



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



