Я пытаюсь смоделировать следующий простой сценарий, используя очередь:
«Студенты приходят в кабинет профессора, чтобы получать помощь по домашнему заданию каждые 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)