Python书籍实例
Posted SmallCuteMonkey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python书籍实例相关的知识,希望对你有一定的参考价值。
# 假设每本书只有一本
# 定义一个书的类
class Book(object):
# 设置书对象需要的属性
def __init__(self, name, author, state, bookIndex):
# 构造函数一般就是用于对象的初始化
self.name = name
self.author = author
# 0:'已借出' 1:'未借出'
self.state = state
self.bookIndex = bookIndex
# __str__是魔术方法,用于在直接输出对象时更改它的描述
def __str__(self):
return 'Book(%s, %d)' % (self.name, self.state)
# book1 = Book('三国演义', '罗贯中', 1, 10010)
# print(book1)
# 定义借书信息类
class BookManage(object):
# 存放所有书籍信息, 列表里面存放的是Book对象
books = []
# 设置一个方法用于开始把书的数据放入本类的数据中
def start(self):
"""图书管理系统初始化数据"""
# 使用Book类创建对象放入本类中的书列表中
self.books.append(Book('python', 'Guido', 1, 'IN23445'))
self.books.append(Book('java', 'Guido1', 1, 'IN23445'))
self.books.append(Book('C++', 'Guido2', 1, 'IN23445'))
print("初始化数据成功!")
# 设置菜单方法
def Menu(self):
"""图书管理菜单栏"""
while True:
# python输出文本的方式
print("""
图书管理操作
1). 添加书籍
2). 删除数据
3). 查询书籍
4). 退出
""")
choice = input("请输入你的选择:")
# 通过用户输入的信息,从而调用不的方法
if choice == '1':
self.addBook()
elif choice == '2':
self.delBook()
elif choice == '3':
self.borrowBook()
elif choice == '4':
exit()
else:
print("请输入正确的选择!")
# 定义一个添加书的方法
def addBook(self):
print("添加书籍".center(0, '*'))
name = input("书籍名称:")
# 调用检查输入的书是否已经存在
bObj = self.isBookExist(name)
if bObj:
print("书籍%s已经存在" % (bObj.name))
else:
self.books.append(Book(name, input("作者:"), 1, input("存放位置:")))
print("书籍%s添加成功" % (name))
def delBook(self):
print("删除书籍".center(50, '*'))
for i in self.books:
print(i)
name = input("删除书籍名称:")
a = self.isBookExist(name)
if a:
self.books.remove(a)
print("删除%s成功" % (a))
else:
print("书籍不存在")
def borrowBook(self):
print("查询书籍".center(50, '*'))
for i in self.books:
print(i)
name = input("查询书籍名称:")
b = self.isBookExist(name)
print(b)
for book in self.books:
if b:
print(book)
break
else:
print("%s不存在" % (b))
break
def isBookExist(self, name):
"""检测书籍是否存在"""
# 1. 依次遍历列表books里面的每个元素
# 2. 如果有一个对象的书名和name相等, 那么存在;
# 3. 如果遍历所有内容, 都没有发现书名与name相同, 书籍不存在;
for book in self.books:
if book.name == name:
# 因为后面需要
return book
else:
return False
print(__name__)
if __name__ == "__main__":
bManger = BookManage()
bManger.start()
bManger.Menu()
以上是关于Python书籍实例的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Python 不使用对象 .save() 将我的模型保存到数据库?
Python 自动化 - 浏览器chrome打开F12开发者工具自动Paused in debugger调试导致无法查看网站资源问题原因及解决方法,javascript反调试问题处理实例演示(代码片段