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 thread 并发且顺序运行示例
Apr 09 Python
Python的Django REST框架中的序列化及请求和返回
Apr 11 Python
浅谈机器学习需要的了解的十大算法
Dec 15 Python
python 常用的基础函数
Jul 10 Python
Numpy之文件存取的示例代码
Aug 03 Python
对python 操作solr索引数据的实例详解
Dec 07 Python
python的内存管理和垃圾回收机制详解
May 18 Python
用django设置session过期时间的方法解析
Aug 05 Python
自定义Django默认的sitemap站点地图样式
Mar 04 Python
浅谈Django QuerySet对象(模型.objects)的常用方法
Mar 28 Python
python使用OpenCV模块实现图像的融合示例代码
Apr 10 Python
Python3交互式shell ipython3安装及使用详解
Jul 11 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
PHP 类商品秒杀计时实现代码
2010/05/05 PHP
深入探讨<br />和 \r\n两者有什么区别??
2013/06/05 PHP
PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
2014/06/19 PHP
Javascript与PHP验证用户输入URL地址是否正确
2014/10/09 PHP
PHP创建word文档的方法(平台无关)
2016/03/29 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
2016/09/09 PHP
Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解
2016/11/10 PHP
jquery 图片 上一张 下一张 链接效果(续篇)
2010/04/20 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
2015/08/17 Javascript
JS使用cookie实现DIV提示框只显示一次的方法
2015/11/05 Javascript
最丑的时钟效果!js canvas时钟制作方法
2016/08/15 Javascript
基于AngularJS前端云组件最佳实践
2016/10/20 Javascript
jQuery插件HighCharts绘制2D带Label的折线图效果示例【附demo源码下载】
2017/03/08 Javascript
ES6实现的遍历目录函数示例
2017/04/07 Javascript
Angular中的$watch、$watchGroup、$watchCollection
2017/06/25 Javascript
详解Vue取消eslint语法限制
2018/08/04 Javascript
element上传组件循环引用及简单时间倒计时的实现
2018/10/01 Javascript
vue使用一些外部插件及样式的配置代码
2019/11/18 Javascript
从零使用TypeScript开发项目打包发布到npm
2020/02/14 Javascript
python实现360皮肤按钮控件示例
2014/02/21 Python
Python中实现参数类型检查的简单方法
2015/04/21 Python
Python实现决策树C4.5算法的示例
2018/05/30 Python
pygame游戏之旅 创建游戏窗口界面
2018/11/20 Python
Python实现的微信支付方式总结【三种方式】
2019/04/13 Python
python解压TAR文件至指定文件夹的实例
2019/06/10 Python
初学者学习Python好还是Java好
2020/05/26 Python
python -v 报错问题的解决方法
2020/09/15 Python
html5构建触屏网站之touch事件介绍
2013/01/07 HTML / CSS
详解HTML5将footer置于页面最底部的方法(CSS+JS)
2018/10/11 HTML / CSS
简述索引存取方法的作用和建立索引的原则
2013/03/26 面试题
农村结婚典礼司仪主持词
2014/03/14 职场文书
李开复演讲稿
2014/05/24 职场文书
刑事附带民事起诉状
2015/05/19 职场文书
新年晚会主持词开场白
2015/05/28 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书
小学科学课教学反思
2016/02/23 职场文书