Project

General

Profile

Files » 图书管理系统.py

UserName LastName, 05/24/2025 07:50 PM

 
import yaml

class Book:
def __init__(self,bid,name,price,summary):
self.bid = bid
self.name = name
self.price = price
self.summary = summary

def __str__(self):
return f'图书编号:{self.bid},书名:{self.name},图书价格:{self.price},图书简介:{self.summary}'

class BookManagemen:
def __init__(self):
self.__books = []

def __menu(self):
print("*****************************")
print("* 图书管理系统 *")
print("* 1. 添加新图书信息 *")
print("* 2. 通过编号修改图书信息 *")
print("* 3. 通过编号删除图书信息 *")
print("* 4. 通过书名删除图书信息 *")
print("* 5. 通过编号查询图书信息 *")
print("* 6. 通过书名查询图书信息 *")
print("* 7. 显示所有图书信息 *")
print("* 8. 退出系统 *")
print("*****************************")
select_op = input('请输入需要选择的选项')
return select_op

def __get_bid(self):#获取图书编号
bid = input("请输入图书编号:")
return bid

def __get_name(self):#获取图书名称
name = input("请输入图书名称:")
return name

def __get_price(self):#获取图书价格
while True:
price = input("请输入图书价格:")
if price.isdigit():
return int(price)
else:
print("请输入正确格式数字:")

def __get_summary(self):
summary = input("请输入图书简介:")
return summary

def __add_book(self,bid,name,price,summary):#添加书本
for s in self.__books:
if s.bid == bid:
print(f"{bid}已存在,添加失败")
return "添加失败"
book = Book(bid,name,price,summary)
self.__books.append(book)

def __modify_book_by_bid(self,bid,name,price,summary):#通过编号修改图书信息
for s in self.__books:
if s.bid == bid:
s.name = name
s.price = price
s.summary = summary
print("修改成功")
return '修改成功'
print(f"图书编号{bid}不存在")
return "修改失败"

def __delete_book_by_bid(self,bid):#通过编号删除图书
for s in self.__books:
if s.bid == bid:
self.__books.remove(s)
print(f"图书{s.name}删除成功")
return"删除成功"
print("无此图书编号")
return "删除失败"

def __delete_book_by_name(self,name):#通过书名删除图书
del_book = []
for s in self.__books:
if s.name == name:
del_book.append(s)
if len(del_book) > 0:
for i in del_book:
self.__books.remove(i)
print(f"成功删除{len(del_book)}本名为{name}的书")
return "删除成功"
else:
print(f'书本{name}不存在')
return "删除失败"
def __select_book_by_bid(self,bid):#通过编号查询图书
for s in self.__books:
if s.bid == bid:
print("图书信息为:")
print(f"图书编号:{s.bid},图书名称:{s.name},图书价格:{s.price},图书简介:{s.summary}")
return '查询成功'
print(f"图书编号{bid}不存在")
return '查询失败'

def __select_book_by_name(self,name):#通过名称查询图书
select_book = []
for s in self.__books:
if s.name == name:
select_book.append(s)
if len(select_book) > 0:
print("图书信息为:")
for i in select_book:
print(f"图书编号:{i.bid},图书名称:{i.name},图书价格:{i.price},图书简介:{i.summary}")
return '查询成功'
else:
print(f"图书名称{name}不存在")
return '查询失败'
def __show(self):
print("所有图书信息如下:")
for s in self.__books:
print(f"图书编号:{s.bid},图书名称:{s.name},图书价格:{s.price},图书简介:{s.summary}")

def manager(self):
while True:
select_op = self.__menu()
if len(select_op) == 1 and int(select_op) in range(1,9):
if select_op == '1':
bid = self.__get_bid()
name = self.__get_name()
price = self.__get_price()
summary = self.__get_summary()
self.__add_book(bid,name,price,summary)
elif select_op == '2':
bid = self.__get_bid()
name = self.__get_name()
price = self.__get_price()
summary = self.__get_summary()
self.__modify_book_by_bid(bid, name, price, summary)
elif select_op == '3':
bid = self.__get_bid()
self.__delete_book_by_bid(bid)
elif select_op == '4':
name = self.__get_name()
self.__delete_book_by_name(name)
elif select_op == '5':
bid = self.__get_bid()
self.__select_book_by_bid(bid)
elif select_op == '6':
name = self.__get_name()
self.__select_book_by_name(name)
elif select_op == '7':
self.__show()
else:
break
else:
print('输入的字符不合法,请重新输入')



if __name__ == '__main__':
bm = BookManagemen()
bm.manager()





(390-390/437)