我正在尝试使用队列模拟以下简单场景:
“学生每 10 分钟到教授办公室接受家庭作业帮助,呈指数分布。帮助学生的时间呈指数分布,平均为 7 分钟。预计等待帮助的学生人数和平均人数是多少? "
我首先制作了以下队列,但我正在努力如何创建一个全球时钟以及如何整合离开队列的学生。
import random as rd
class Queue(object):
def __init__(self):
self.officeHasStudent = False
self.totalTime = 0
self.numStudentsInLine = 0
def studentArrives(self, time):
self.totalTime += time
if self.officeHasStudent == False:
self.officeHasStudent = True
else:
self.numStudentsInLine += 1
def __str__(self):
temp = ''
temp += 'Time Elapsed: ' + str(self.totalTime) + ' min\n'
temp += 'number of students in line: ' + str(self.numStudentsInLine)
return temp
Q = Queue()
for i in range(5):
Q.studentArrives(rd.expovariate(1/10.0))
print(Q)