python练习图书管理系统
该系统的要求实现以下五种功能:
1.对所有书籍信息查询
2.对单个书籍信息查询
3.增加
4.借阅
5.归还
6.退出
#创建一个类:Book,定义参数,对象
class Book(object):
def __init__(self, id,name,status, amount):
self.id = id
self.name = name
self.status = status
self.amount= amount
def __str__(self):
if self.status == 1:
stats = '未借出'
elif self.status == 0:
stats = '已借出'
else:
stats = '状态异常'
return '编号: (%s) 名称: 《%s》 状态: <%s> 数量: %s' \
% (self.id, self.name, stats, self.amount)
#创建一个类BookManage,将书籍信息输入
class BookManage(object):
books = []
def start(self):
self.books.append(Book("1号",'python', 1, '29'"本"))
self.books.append(Book("2号",'c语言', 1, '4'"本"))
self.books.append(Book("3号",'java', 1, '1'"本"))
#通过while循环,if选择结构,让学生进行功能服务选择
def Menu(self):
self.start()
while True:
print("""
****** 图书管理系统 ******
1.查询图书
2.查询单个图书
3.增加图书
4.借阅图书
5.归还图书
6.退出系统
""")
choice = input('请选择:')
if choice == '1':
self.showAllBook()
elif choice == '2':
self.chaxunBook()
elif choice == '3':
self.addBook()
elif choice == '4':
self.borrowBook()
elif choice == '5':
self.guihuanBook()
elif choice == '6':
print('欢迎下次使用...')
exit()
else:
print('请输入正确选择')
continue
#1、查询图书,创建showALLBook函数
def showAllBook(self):
for book in self.books:
print(book)
#2、 查询单个图书,chaxun函数增加书籍
def chaxunBook(self):
name = input('请输入要查询图书名称:')
for book in self.books:
if name==book.name:
print('编号: %d 《名称》: 《%s》 状态: %d 数量: %e'
% (book.id,book.name,book.status,book.amount))
return book
else:
print('《%s》没有找到!' % name)
return None
# 3、增加图书,创建addbook函数增加书籍种类
def addBook(self):
id = int (input('请输入编号'))
self.books.append(Book(id, input('名称:'), 1, input('存储数量:')))
print('图书《%》增加成功' % id)
#4、借阅图书,创建函数yunyongfor循环,和if选择语句运行判断
def checkBook(self, name):
for book in self.books:
if book.name == name:
return book
else:
return None
def borrowBook(self):
name = input('借阅图书名称: ')
ret = self.checkBook(name)
print(ret)
if ret != None:
if ret.status == 0:
print('书籍《%s》已经借出' % name)
else:
ret.status = 0
print('书籍《%s》借阅成功' % name)
else:
print('书籍《%d》不存在' % name)
#创建函数,运用if嵌套循环进行判断。
def guihuanBook(self):
name = input('归还图书名称:')
ret = self.checkBook(name)
if ret != None:
if ret.status == 0:
ret.status = 1
print('书籍《%s》归还成功' % name)
print(ret)
else:
print('书籍《%s》未借出' % name)
else:
print('书籍《%d》不存在' % name)
manager = BookManage()
manager.Menu()
解释:已经在代码的主要的转接处,进行了注释。
主要:运用了1.函数;2.类;3.if选择语句;4.while循环语句;5.init函数,str函数;5.input语句;
思路:首先确定参数,对象的数量,判断创建函数的数量,以及各个函数的作用,对功能进行分析。分析作用:选择哪一种流程,会更好一点。如:选择功能,用if选择语句最为适合。