函数定义(每个功能模块定义1个函数,同时需编写一个主程序) 包括添加用户、权限设置、权限回收,权限查看等功能,主函数具备交互性, 尽量能包含异常处理。 二、权限表示和存储 1. 要求采用2个字典分别存储权限和用户信息。 2. 5种权限分别用0b00001、0b00010、0b00100、0b01000、0b10000表示,用位运算进行权限操作。,写程序
时间: 2024-03-27 17:37:04 浏览: 35
好的,我理解了你的要求。以下是一个简单的 Python 实现,其中包括添加用户、权限设置、权限回收和权限查看等功能。
```python
users = {} # 用户信息字典,格式为 {用户名: 权限}
permissions = { # 权限字典,格式为 {权限名: 权限值}
"add_user": 0b00001,
"set_permission": 0b00010,
"revoke_permission": 0b00100,
"view_permission": 0b01000,
"admin": 0b10000
}
def add_user(username):
if username in users:
print("Error: 用户名已存在")
return
users[username] = 0b00000
print(f"成功添加用户 {username}")
def set_permission(username, permission):
if username not in users:
print("Error: 用户不存在")
return
if permission not in permissions:
print("Error: 权限不存在")
return
users[username] |= permissions[permission]
print(f"成功给用户 {username} 分配权限 {permission}")
def revoke_permission(username, permission):
if username not in users:
print("Error: 用户不存在")
return
if permission not in permissions:
print("Error: 权限不存在")
return
users[username] &= ~permissions[permission]
print(f"成功回收用户 {username} 的权限 {permission}")
def view_permission(username):
if username not in users:
print("Error: 用户不存在")
return
user_permissions = []
for permission, value in permissions.items():
if users[username] & value:
user_permissions.append(permission)
print(f"用户 {username} 的权限为: {', '.join(user_permissions)}")
if __name__ == "__main__":
while True:
print("请选择操作:")
print("1. 添加用户")
print("2. 分配权限")
print("3. 回收权限")
print("4. 查看权限")
print("5. 退出")
choice = input()
if choice == "1":
username = input("请输入用户名: ")
add_user(username)
elif choice == "2":
username = input("请输入用户名: ")
permission = input("请输入要分配的权限: ")
set_permission(username, permission)
elif choice == "3":
username = input("请输入用户名: ")
permission = input("请输入要回收的权限: ")
revoke_permission(username, permission)
elif choice == "4":
username = input("请输入用户名: ")
view_permission(username)
elif choice == "5":
break
else:
print("Error: 无效的选择")
```
注意,这只是一个简单的实现,可能存在一些安全漏洞和性能问题。在真正的应用中,需要更加严格地考虑安全和性能问题。