编写程序实现超市存取包系统,存放物品时系统先判断是否有空柜子,如果有空柜子,则从中选择一个,并生成一个密码给用户,存包操作完成。如果没有空柜子,提示:对不起,但前使用已满,取包:用户输入密码,系统根据密码判断是哪一个柜门,然后打开柜门,若输入的密码系统中不存在,则提示:对不起,输入错误
时间: 2024-03-09 14:44:20 浏览: 62
ATM.rar_ATM存取程序_atm模拟系统c++
5星 · 资源好评率100%
好的,下面是一个Python实现的超市存取包系统代码,你可以参考:
```python
import random
# 存储柜子的字典,键为柜子编号,值为柜子状态(0表示空闲,1表示占用)
lockers = {i: 0 for i in range(1, 11)}
# 存储柜子密码的字典,键为柜子编号,值为柜子密码
locker_passwords = {}
# 存包操作
def store_bag():
# 判断是否有空闲柜子
free_lockers = [locker for locker, status in lockers.items() if status == 0]
if not free_lockers:
print("对不起,存包柜已满")
return
# 选择一个空闲柜子,并生成密码
locker_id = random.choice(free_lockers)
password = random.randint(1000, 9999)
lockers[locker_id] = 1
locker_passwords[locker_id] = password
print(f"请将物品放入{locker_id}号柜子,并记好密码{password}")
# 取包操作
def retrieve_bag():
password = input("请输入密码:")
for locker_id, locker_password in locker_passwords.items():
if locker_password == int(password):
lockers[locker_id] = 0
del locker_passwords[locker_id]
print(f"{locker_id}号柜子已打开,请取出物品")
return
print("对不起,密码输入错误")
# 主程序
while True:
print("请选择操作:1.存包 2.取包 3.退出")
choice = input()
if choice == "1":
store_bag()
elif choice == "2":
retrieve_bag()
elif choice == "3":
break
else:
print("输入错误,请重新输入")
```
这个程序中,我们使用一个字典 `lockers` 存储了柜子的状态,键为柜子编号,值为柜子状态(0表示空闲,1表示占用)。使用另一个字典 `locker_passwords` 存储了柜子密码,键为柜子编号,值为柜子密码。在存包操作中,我们找到一个空闲柜子,将其状态设置为占用,并生成一个四位数的随机密码,并将密码存储到 `locker_passwords` 字典中。在取包操作中,用户输入密码,程序根据密码查找对应的柜子,并将其状态设置为空闲,最后删除 `locker_passwords` 中的密码记录。如果输入的密码在 `locker_passwords` 中不存在,则提示密码输入错误。
希望这个程序能够帮助你实现一个简单的超市存取包系统。
阅读全文