python1. 系统登录注册(默认管理员账号为admin,密码为root) 2. 管理员可进行以下操作 1) 添加学生账户 2) 显示所有学生账户 3) 删除学生账户 4) 修改学生账户为黑名单 3. 登录成功进行图书管理系统(提示用户如下) 您已进入图书管理系统,请选择以下操作 1.查询图书(默认存在3本图书,书名自定义) 2.增加图书(书名相同无法新增,所以用户均可操作) 3.删除图书(仅限管理员操作) 3.借阅图书 1.图书不存在或已借出,则无法借阅 2.黑名单用户无法借阅 4.归还图书 5.退出系统
时间: 2024-03-31 17:36:35 浏览: 62
好的,这是一个比较全面的系统,需要设计多个功能模块。下面是一个简单的示例代码,其中使用了字典来存储学生账户信息和图书信息。
```python
# 初始化管理员账户
admin_username = 'admin'
admin_password = 'root'
# 初始化学生账户信息
students = {
'1001': {'name': '张三', 'password': '123456', 'blacklist': False},
'1002': {'name': '李四', 'password': '123456', 'blacklist': False},
'1003': {'name': '王五', 'password': '123456', 'blacklist': False},
}
# 初始化图书信息
books = {
'10001': {'name': 'Python编程从入门到实践', 'borrower': None},
'10002': {'name': '数据结构与算法分析', 'borrower': None},
'10003': {'name': '机器学习实战', 'borrower': None},
}
# 登录系统
def login():
while True:
username = input("请输入用户名:")
password = input("请输入密码:")
if username == admin_username and password == admin_password:
print("管理员登录成功")
break
elif username in students and students[username]['password'] == password:
print("学生登录成功")
break
else:
print("用户名或密码错误,请重新输入")
# 添加学生账户
def add_student():
while True:
id = input("请输入学生编号:")
if id in students:
print("该学生账户已存在,请重新输入")
else:
name = input("请输入学生姓名:")
password = input("请输入登录密码:")
students[id] = {'name': name, 'password': password, 'blacklist': False}
print("学生账户添加成功")
break
# 显示所有学生账户
def show_students():
print("学生编号\t学生姓名\t登录密码\t黑名单状态")
for id, info in students.items():
print("{}\t\t{}\t\t{}\t\t{}".format(id, info['name'], info['password'], info['blacklist']))
# 删除学生账户
def delete_student():
id = input("请输入要删除的学生编号:")
if id in students:
del students[id]
print("学生账户删除成功")
else:
print("该学生账户不存在")
# 修改学生账户为黑名单
def set_blacklist():
id = input("请输入要设置为黑名单的学生编号:")
if id in students:
students[id]['blacklist'] = True
print("学生账户已设置为黑名单")
else:
print("该学生账户不存在")
# 查询图书
def search_book():
name = input("请输入要查询的图书名称:")
for id, info in books.items():
if info['name'] == name:
if info['borrower'] is None:
print("该图书未借出")
else:
print("该图书已被{}借出".format(info['borrower']))
return
print("该图书不存在")
# 增加图书
def add_book():
id = input("请输入图书编号:")
if id in books:
print("该图书已存在")
else:
name = input("请输入图书名称:")
books[id] = {'name': name, 'borrower': None}
print("图书添加成功")
# 删除图书
def delete_book():
if not is_admin():
print("只有管理员才能删除图书")
return
id = input("请输入要删除的图书编号:")
if id in books:
del books[id]
print("图书删除成功")
else:
print("该图书不存在")
# 借阅图书
def borrow_book():
id = input("请输入要借阅的图书编号:")
if id not in books:
print("该图书不存在")
elif books[id]['borrower'] is not None:
print("该图书已被借出")
else:
if is_blacklist():
print("黑名单用户无法借阅图书")
else:
books[id]['borrower'] = get_username()
print("借阅成功")
# 归还图书
def return_book():
id = input("请输入要归还的图书编号:")
if id not in books:
print("该图书不存在")
elif books[id]['borrower'] is None:
print("该图书未被借出")
else:
books[id]['borrower'] = None
print("归还成功")
# 退出系统
def exit_system():
print("感谢使用图书管理系统,再见!")
# 判断当前用户是否为管理员
def is_admin():
return get_username() == admin_username
# 判断当前用户是否在黑名单中
def is_blacklist():
username = get_username()
if username in students and students[username]['blacklist']:
return True
else:
return False
# 获取当前登录用户的用户名
def get_username():
while True:
username = input("请输入用户名:")
password = input("请输入密码:")
if username in students and students[username]['password'] == password:
return username
else:
print("用户名或密码错误,请重新输入")
# 主程序
def main():
login()
print("欢迎进入图书管理系统")
while True:
print("请选择以下操作:")
print("1.查询图书")
print("2.增加图书")
if is_admin():
print("3.删除图书")
print("4.借阅图书")
print("5.归还图书")
print("6.退出系统")
choice = input()
if choice == '1':
search_book()
elif choice == '2':
add_book()
elif choice == '3' and is_admin():
delete_book()
elif choice == '4':
borrow_book()
elif choice == '5':
return_book()
elif choice == '6':
exit_system()
break
else:
print("无效的选择")
if __name__ == '__main__':
main()
```
这个示例代码中,程序分为两个部分:登录注册和图书管理系统。在登录注册部分,程序首先初始化了管理员账户、学生账户信息和图书信息。然后定义了登录、添加学生账户、显示所有学生账户、删除学生账户和修改学生账户为黑名单等操作。在图书管理系统部分,程序定义了查询图书、增加图书、删除图书、借阅图书、归还图书和退出系统等操作。其中,借阅图书和归还图书需要判断当前用户是否在黑名单中。
阅读全文