求解,想问一个问题,现在要编写超市排队的一段程序,这里的排队时间是从到达排队开始计时,不是所有的人同时在排队。这个问题应该怎么解决啊,应该怎么写代码啊。求大佬解答,
1条回答 默认 最新
关注 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)
解决 无用评论 打赏 举报
悬赏问题
- ¥15 mmo能不能做客户端怪物
- ¥15 osm下载到arcgis出错
- ¥15 Dell g15 每次打开eiq portal后3分钟内自动退出
- ¥200 使用python编写程序,采用socket方式获取网页实时刷新的数据,能定时print()出来就行。
- ¥15 matlab如何根据图片中的公式绘制e和v的曲线图
- ¥15 我想用Python(Django)+Vue搭建一个用户登录界面,但是在运行npm run serve时报错了如何解决?
- ¥15 QQ邮箱过期怎么恢复?
- ¥15 登录他人的vue项目显示服务器错误
- ¥15 (标签-android|关键词-app)
- ¥15 comsol仿真压阻传感器