qcode
  • 创作工场专业版,一问多答!更智能、更完整、更原创
  • 这是一个超强内容创作平台,它会写文章、做设计、绘图、敲代码,有问必答!
🔥点击使用-免登录深度版🔥

顾客按序购商品,遇空或得即离超市

时间2023-09-10 20:34:09 提问来自 陕西省西安市 的网友 分类创作 浏览434
店的工作人员,你需要编写一个程序来模拟这个过程。请按照以下步骤完成: 1. 初始化货物架的状态,将第一个格子里的商品设置为si。 2. 让m个人按照顺序进入超市。 3. 对于每个顾客cj,从第一个格子开始查找到第n个格子。 4. 如果在中间某一个格子处找到了自己想要的商品(即cj == ci),将其拿下来并购买它,然后立刻离开超市。 5. 如果在中间某个格子处发现这个格子里没有商品,他就会立刻停下来并离开超市。 6. 如果他走到最后也没有发现自己想要的商品也会离开超市。 7. 当所有顾客都离开后,返回货物架的状态。 下面是一个可能的Python实现: ```python def simulate_shopping_m_customers(n, m, si, c): goods = ['a' + str(i) for i in range(1, n + 1)] + [chr(ord('a') + i) for i in range(26)] customers = [None] * m goods_on_shelf = [si] * (n + 1) i = 0 while any(customers) and i < m: customer = customers[i % m] if customer is None: i += 1 continue j = 1 while j <= n: if goods_on_shelf[j] == c: print(f"顾客{customer}找到并购买了商品{c}") goods_on_shelf[j] = None break elif goods_on_shelf[j] is None: j += 1 else: j += 26 else: print(f"顾客{customer}没有找到商品{c},离开了超市") customers[i % m] = None i += 1 if all(goods_on_shelf): break return goods_on_shelf[1:] # 示例输入 n = 20 m = 5 si = '商品A' c = 'b' print(simulate_shopping_m_customers(n, m, si, c)) ``` 注意:这个实现假设货架上的商品编号是连续的,并且从1开始。你可以根据实际情况修改代码以适应不同的需求。

不满意?免费深度重写!

免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。

上一篇 菜单以树形结构呈现,数据库记录用户权限对应叶子节点。给定菜单与权限,输出可见菜单树形数据 下一篇 坐在火车上能写一首七言绝句吗