python面向对象法实现图书管理系统


Posted in Python onApril 19, 2019

本文实例为大家分享了python实现图书管理系统的具体代码,供大家参考,具体内容如下

需求:

图书管理系统

1.查询图书
2.增加图书
3.借阅图书
4.归还图书
5.退出系统
书:书名,作者,状态,位置

管理系统:

实现如下:

class Book(object):

 def __init__(self, name, author, status, bookindex):
  self.name = name
  self.author = author
  self.status = status
  self.bookindex = bookindex

 def __str__(self):
  if self.status == 1:
   stats = '未借出'
  elif self.status == 0:
   stats = '已借出'
  else:
   stats = '状态异常'
  return '书名: 《%s》 作者: %s 状态: <%s> 位置: %s' \
    % (self.name, self.author, stats, self.bookindex)


class BookManage(object):
 books = []

 def start(self):
  self.books.append(Book('python', 'guido', 1, 'ISO9001'))
  self.books.append(Book('c', '谭浩强', 1, 'NFS8102'))
  self.books.append(Book('java', 'westos', 1, 'PKA7844'))
  # 0:借出 1:存在
  # python 1
  # c 1
  # java 1

 def Menu(self):
  self.start()
  while True:
   print("""
      图书管理系统
  1.查询图书
  2.增加图书
  3.借阅图书
  4.归还图书
  5.退出系统
  """)

   choice = input('请选择:')

   if choice == '1':
    self.showAllBook()
   elif choice == '2':
    self.addBook()
   elif choice == '3':
    self.borrowBook()
   elif choice == '4':
    self.returnBook()
   elif choice == '5':
    print('欢迎下次使用...')
    exit()
   else:
    print('请输入正确选择')
    continue

 def showAllBook(self):
  for book in self.books:
   print(book)

 def addBook(self):
  name = input('图书名称:')
  self.books.append(Book(name, input('作者:'), 1, input('存储位置:')))
  print('图书《%s》增加成功' % name)

 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('书籍《%s》不存在' % name)

 def returnBook(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('书籍《%s》不存在' % name)


manager = BookManage()
manager.Menu()

python面向对象法实现图书管理系统python面向对象法实现图书管理系统python面向对象法实现图书管理系统python面向对象法实现图书管理系统python面向对象法实现图书管理系统python面向对象法实现图书管理系统

验证如下:

python面向对象法实现图书管理系统python面向对象法实现图书管理系统python面向对象法实现图书管理系统python面向对象法实现图书管理系统python面向对象法实现图书管理系统

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现向QQ群成员自动发邮件的方法
Nov 19 Python
Python发送以整个文件夹的内容为附件的邮件的教程
May 06 Python
Python实现带参数与不带参数的多重继承示例
Jan 30 Python
python爱心表白 每天都是浪漫七夕!
Aug 18 Python
解决webdriver.Chrome()报错:Message:'chromedriver' executable needs to be in Path
Jun 12 Python
Python 控制终端输出文字的实例
Jul 12 Python
用Python爬取QQ音乐评论并制成词云图的实例
Aug 24 Python
pytorch:torch.mm()和torch.matmul()的使用
Dec 27 Python
Pytorch中的VGG实现修改最后一层FC
Jan 15 Python
Python坐标轴操作及设置代码实例
Jun 04 Python
基于注解实现 SpringBoot 接口防刷的方法
Mar 02 Python
Python基础之教你怎么在M1系统上使用pandas
May 08 Python
python远程连接MySQL数据库
Apr 19 #Python
详解Python匿名函数(lambda函数)
Apr 19 #Python
解决python3中的requests解析中文页面出现乱码问题
Apr 19 #Python
Python3中列表list合并的四种方法
Apr 19 #Python
局域网内python socket实现windows与linux间的消息传送
Apr 19 #Python
python定时按日期备份MySQL数据并压缩
Apr 19 #Python
Python实现 版本号对比功能的实例代码
Apr 18 #Python
You might like
调整优化您的LAMP应用程序的5种简单方法
2011/06/26 PHP
Laravel路由设定和子路由设定实例分析
2016/03/30 PHP
php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
2016/09/23 PHP
浅谈javascript的数据类型检测
2010/07/10 Javascript
在jQuery1.5中使用deferred对象 着放大镜看Promise
2011/03/12 Javascript
js局部刷新页面时间具体实现
2013/07/04 Javascript
Jqgrid设置全选(选择)及获取选择行的值示例代码
2013/12/28 Javascript
JS延迟加载加快页面打开速度示例代码
2013/12/30 Javascript
解决jquery实现的radio重新选中的问题
2015/07/03 Javascript
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
2017/05/15 jQuery
JavaScript运动框架 多值运动(四)
2017/05/18 Javascript
vue2.X组件学习心得(新手必看篇)
2017/07/05 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
2017/08/18 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
2018/07/09 jQuery
如何解决日期函数new Date()浏览器兼容性问题
2019/09/11 Javascript
vue实现鼠标移过出现下拉二级菜单功能
2019/12/12 Javascript
详解webpack-dev-middleware 源码解读
2020/03/23 Javascript
python BeautifulSoup使用方法详解
2013/11/21 Python
python爬虫入门教程--利用requests构建知乎API(三)
2017/05/25 Python
python中获得当前目录和上级目录的实现方法
2017/10/12 Python
python numpy函数中的linspace创建等差数列详解
2017/10/13 Python
TensorFLow用Saver保存和恢复变量
2018/03/10 Python
python实现植物大战僵尸游戏实例代码
2019/06/10 Python
python IDLE 背景以及字体大小的修改方法
2019/07/12 Python
利用rest framework搭建Django API过程解析
2019/08/31 Python
python3 使用traceback定位异常实例
2020/03/09 Python
基于python爬取有道翻译过程图解
2020/03/31 Python
python3+selenium获取页面加载的所有静态资源文件链接操作
2020/05/04 Python
Puritan’s Pride(普丽普莱)官方网站:美国最大最全的保健品公司之一
2016/10/23 全球购物
澳洲CFL商城:CHEMIST FOR LESS(中文)
2021/02/28 全球购物
优秀学生评语大全
2014/04/25 职场文书
钱学森电影观后感
2015/06/04 职场文书
工作简报怎么写
2015/07/21 职场文书
2019学子的答谢词范本!
2019/07/05 职场文书
分享一些Java的常用工具
2021/06/11 Java/Android
mysql幻读详解实例以及解决办法
2022/06/16 MySQL