制作一个登陆时输入账号以区分读者和管理员,并且管理员可以增加、修改、删除图书。读者能够查询、借阅、归还、显示个人借阅历史及所借图书状态的代码
时间: 2023-07-10 15:24:30 浏览: 107
图书借阅(实现数据记录的增加、修改、删除、查询)
4星 · 用户满意度95%
好的,下面是一个简单的Python代码示例,实现登陆时输入账号以区分读者和管理员,并且管理员可以增加、修改、删除图书,读者能够查询、借阅、归还、显示个人借阅历史及所借图书状态的功能:
```python
class Library:
def __init__(self):
self.books = [] # 书库列表
self.users = [] # 用户列表
self.borrowed_books = [] # 已借出的书列表
def add_book(self, book):
self.books.append(book)
print(f"书籍 {book} 添加成功!")
def remove_book(self, book):
self.books.remove(book)
print(f"书籍 {book} 删除成功!")
def modify_book(self, book, new_book):
index = self.books.index(book)
self.books[index] = new_book
print(f"书籍 {book} 修改为 {new_book} 成功!")
def borrow_book(self, user, book):
if book not in self.books:
print(f"书籍 {book} 不存在!")
elif book in self.borrowed_books:
print(f"书籍 {book} 已被借出!")
else:
self.borrowed_books.append(book)
user.borrowed_books.append(book)
print(f"用户 {user.name} 借阅书籍 {book} 成功!")
def return_book(self, user, book):
if book not in self.borrowed_books:
print(f"书籍 {book} 不在借阅列表中!")
elif book not in user.borrowed_books:
print(f"用户 {user.name} 没有借阅书籍 {book} !")
else:
self.borrowed_books.remove(book)
user.borrowed_books.remove(book)
print(f"用户 {user.name} 归还书籍 {book} 成功!")
def show_borrowed_books(self, user):
print(f"用户 {user.name} 的借阅历史:")
for book in user.borrowed_books:
if book in self.borrowed_books:
print(f"{book} 状态:借出")
else:
print(f"{book} 状态:可借")
def login(self):
account = input("请输入账号:")
if account == "admin":
self.admin_login()
else:
self.reader_login()
def admin_login(self):
print("管理员登陆成功!")
while True:
choice = input("请选择操作:1. 添加书籍 2. 删除书籍 3. 修改书籍 4. 退出\n")
if choice == "1":
book = input("请输入书籍名称:")
self.add_book(book)
elif choice == "2":
book = input("请输入书籍名称:")
self.remove_book(book)
elif choice == "3":
book = input("请输入原书籍名称:")
new_book = input("请输入新书籍名称:")
self.modify_book(book, new_book)
elif choice == "4":
print("管理员退出登陆!")
break
else:
print("输入错误,请重新输入!")
def reader_login(self):
print("读者登陆成功!")
username = input("请输入用户名:")
user = User(username)
self.users.append(user)
while True:
choice = input("请选择操作:1. 查询书籍 2. 借阅书籍 3. 归还书籍 4. 显示借阅历史 5. 退出\n")
if choice == "1":
book = input("请输入书籍名称:")
if book in self.books:
print(f"书籍 {book} 存在!")
else:
print(f"书籍 {book} 不存在!")
elif choice == "2":
book = input("请输入书籍名称:")
self.borrow_book(user, book)
elif choice == "3":
book = input("请输入书籍名称:")
self.return_book(user, book)
elif choice == "4":
self.show_borrowed_books(user)
elif choice == "5":
print("读者退出登陆!")
break
else:
print("输入错误,请重新输入!")
class User:
def __init__(self, name):
self.name = name
self.borrowed_books = []
if __name__ == "__main__":
lib = Library()
lib.add_book("Python编程从入门到入土")
lib.add_book("Java编程从入门到精通")
lib.add_book("C++编程从入门到放弃")
lib.login()
```
运行代码后,输入账号即可进入不同的登陆界面,管理员可以进行增加、修改、删除图书的操作,读者可以进行查询、借阅、归还、显示个人借阅历史及所借图书状态的操作。
阅读全文