功能:1.显示所有在馆图书
2.新建图书条目
3.检索图书
4.借书
5.还书
代码:
class Book:
def __init__(self, title, author, index, status ):
self.title = title #书名
self.author = author #作者
self.index = index #索引号
self.status = status # 图书状态
class Library:
def __init__(self):
self.books = []
def display_books(self):
print("在馆图书:")
for book in self.books:
print(f"书名:{book.title}\t作者:{book.author}\t索引号:{book.index}\t状态:{book.status}")
def add_book(self,title, author, index, status ):
new_book = Book(title, author, index, status )
self.books.append(new_book)
def search_by_index(self, index):
for book in self.books:
if book.index == index:
return book
def borrow_book(self, index):
book = self.search_by_index(index)
if book and book.status == "未借出":
book.status = "已借出"
print(f"{book.title} 借出成功")
elif book and book.status == "已借出":
print(f"抱歉!{book.title} 已被借出")
else:
print("图书不存在")
def return_book(self, index):
book = self.search_by_index(index)
if book and book.status == "已借出":
book.status = "未借出"
print(f"{book.title} 归还成功")
elif book and book.status == "未借出":
print(f"{book.title} 未被借出")
else:
print("图书不存在")
# 创建图书馆对象
library = Library()
# 添加图书
library.add_book("《红楼梦》", "曹雪芹", "001", "未借出")
library.add_book("《西游记》", "吴承恩", "002", "未借出")
library.add_book("《三国演义》", "罗贯中", "003", "未借出")
library.add_book("《水浒传》", "施耐庵", "004", "未借出")
#菜单
def show_menu():
print("*" * 50)
print("欢迎使用图书管理系统")
print("1.在馆图书目录")
print("2.新建图书条目")
print("3.检索图书")
print("4.借书")
print("5.还书")
print("6.退出系统")
#显示所有在馆图书
def show_all(library):
print("在馆图书目录")
library.display_books()
def add_book(library):
print("新建图书条目")
library.add_book(input("请输入书名: "), input("请输入作者: "), input("请输入索引号: "),"未借出")
def find(library):
print("检索图书")
number = input("请输入索引号: ")
book = library.search_by_index(number)
if book:
print(f"{book.title}\t{book.author}\t{book.index}\t{book.status}")
else:
print("未找到该图书")
def borrow(library):
print("借书")
number = input("请输入索引号: ")
library.borrow_book(number)
def return_book(library):
print("还书")
number = input("请输入索引号: ")
library.return_book(number)
while True:
show_menu()
choice = input("请输入操作编号:")
if choice == "1":
show_all(library)
elif choice == "2":
add_book(library)
elif choice == "3":
find(library)
elif choice == "4":
borrow(library)
elif choice == "5":
return_book(library)
elif choice == "6":
print("欢迎下次使用......")
exit()
else:print("输入错误!请重新输入:")
运行结果:
这段代码定义了两个类,Book 和 Library。Book 类用于表示图书对象,包括书名、作者、索引号和状态;Library 类用于管理图书馆的图书,包括添加图书、显示图书列表、根据索引号搜索图书、借书和还书等操作。接着创建了一个 Library 对象 library,并向其中添加了几本书籍。
后面的部分是一个简单的命令行菜单,通过用户输入不同的操作编号来执行对应的操作,包括显示在馆图书目录、新建图书条目、检索图书、借书、还书以及退出系统。根据用户的选择,调用相应的函数进行处理。
整体来说,这段代码实现了一个简单的图书管理系统,用户可以通过命令行菜单来执行图书管理相关的操作。