📅  最后修改于: 2023-12-03 15:12:45.100000             🧑  作者: Mango
这个系统是基于一个电子门禁系统,由物品管理系统发出访问请求。每个物品都有一个唯一的ID,这些ID被存储在物品管理系统中。门禁系统存储着被允许访问门禁的ID,以及一个标志着门禁是开启还是关闭的状态。
门禁系统处理以下两种不同的命令:
管理系统通过“access
def access(id, access_dict):
if id in access_dict and access_dict[id] == "Open":
access_dict[id] = "Closed"
return "Access Granted"
else:
return "Access Denied"
管理系统通过“control
def control(id, status, access_dict):
if id in access_dict:
access_dict[id] = status
return "Control Successful"
else:
return "Access Denied"
在这里,access_dict是一个字典,将ID映射到门禁状态。在每个门禁的开机时,它们启动开启状态。
我们可以使用以下代码模拟我们的物品门禁系统:
access_dict = {
"item_001": "Open",
"item_002": "Open",
"item_003": "Open",
"item_004": "Open",
}
print(access("item_001", access_dict)) # "Access Granted"
print(control("item_002", "Close", access_dict)) # "Control Successful"
print(access("item_002", access_dict)) # "Access Denied"
print(control("item_003", "Close", access_dict)) # "Control Successful"
print(control("item_003", "Close", access_dict)) # "Control Successful"
print(access("item_003", access_dict)) # "Access Denied"
在这个实现中,我们假设一个字典access_dict来存储每个门禁系统的状态,其中“Open”表示门禁处于开放状态,而“Closed”则表示门禁处于关闭状态。我们可以使用以下语句对门禁系统进行访问请求和状态控制:
access(id, access_dict)
和control(id, status, access_dict)
。访问请求命令会返回“Access Granted”或“Access Denied”,并自动关闭门禁,如果门禁系统找到该ID并且处于开启状态。状态控制命令会将门禁状态更改为Open或Closed,并返回“Control Successful”或“Access Denied”如果该ID不存在。
注意,我们还可以通过在全局范围内定义access_dict变量来将这个字典传递给访问请求和状态控制函数,而不是作为参数。