Python计算队列中的平均等待时间

假设我有一个队列,每个元素代表一个正在等待其订单完成的客户。如果更多的客户堆积起来,我将如何实现python time模块来增加等待时间,如果已经为客户提供服务,则如何减少等待时间。

import time
class Queue:
    #Constructor creates a list
    def __init__(self):
        self.queue = list()
        self.start_time = 0
        self.start_time2 = 0

    #Adding elements to queue
    def enqueue(self,data):
      #Checking to avoid duplicate entry (not mandatory)
        if data not in self.queue:
            self.queue.insert(0,data)
            if self.start_time != 0:
                self.start_time2 = time.time()
                self.start_time += self.start_time2

            self.start_time = time.time()
            return True
        return False


    #Removing the last element from the queue
    def dequeue(self):
        if len(self.queue)>0:
            #calculate time between ordering and serving: 
            elapsed_time = time.time() - self.start_time
            print('Order took',elapsed_time)
            #decrease current waiting time
            self.start_time = self.start_time - elapsed_time
            print('Current waiting time is',self.start_time)
            return self.queue.pop()
        return ("Queue Empty!")

    #Getting the size of the queue
    def size(self):
        return len(self.queue)

    #printing the elements of the queue
    def printQueue(self):
        return self.queue

    def time(self):
        start_time = time.time()
        elapsed_time = time.time() - start_time
        time.strftime("%H:%M:%S",time.gmtime(elapsed_time))

customerQueue = Queue()
customerQueue.enqueue('Test1')
customerQueue.enqueue('Test2')
customerQueue.enqueue('Test3')
print(customerQueue.queue)
customerQueue.dequeue()
print(customerQueue.queue)
yyzlzj 回答:Python计算队列中的平均等待时间

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3159717.html

大家都在问