求解,想问一个问题,现在要编写超市排队的一段程序,这里的排队时间是从到达排队开始计时,不是所有的人同时在排队。这个问题应该怎么解决啊,应该怎么写代码啊。求大佬解答,

import random
class Customer:
def __init__(self, id, arrival_time):
self.id = id
self.arrival_time = arrival_time
def simulate_checkout(num_customers):
checkout_time = 0 # 初始化收银台空闲时间为0
total_wait_time = 0 # 初始化总等待时间为0
customers = [] # 存储到达的顾客
for i in range(num_customers):
arrival_time = random.randint(0, 180) + random.random() # 随机生成顾客到达时间
customer = Customer(i+1, arrival_time)
customers.append(customer)
customers.sort(key=lambda x: x.arrival_time) # 按到达时间对顾客进行排序
for customer in customers:
wait_time = max(0, checkout_time - customer.arrival_time) # 计算顾客等待时间
total_wait_time += wait_time
checkout_time = max(checkout_time, customer.arrival_time) + 1 + random.randint(1, 10) # 更新收银台空闲时间
print(f"顾客{customer.id},到达时间:{customer.arrival_time:.2f},等待时间:{wait_time:.2f},结账时间:{checkout_time:.2f}")
average_wait_time = total_wait_time / num_customers
print(f"平均等待时间:{average_wait_time:.2f} 分钟")
# 模拟100位客户的结账过程
simulate_checkout(100)