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采用Django制作简易的知乎日报API
Aug 03 Python
python正则表达式的使用
Jun 12 Python
python+django+sql学生信息管理后台开发
Jan 11 Python
Flask框架使用DBUtils模块连接数据库操作示例
Jul 20 Python
Python UnboundLocalError和NameError错误根源案例解析
Oct 31 Python
对matplotlib改变colorbar位置和方向的方法详解
Dec 13 Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
Mar 14 Python
python+pyqt5实现图片批量缩放工具
Mar 18 Python
Python包,__init__.py功能与用法分析
Jan 07 Python
python网络编程socket实现服务端、客户端操作详解
Mar 24 Python
python实现PolynomialFeatures多项式的方法
Jan 06 Python
Python matplotlib可视化之绘制韦恩图
Feb 24 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
收音机另类DIY - 纸巾盒做外壳
2021/03/02 无线电
php发送get、post请求的6种方法简明总结
2014/07/08 PHP
PHP下载生成的csv文件及问题总结
2015/08/06 PHP
PHP使用new StdClass()创建空对象的方法分析
2017/06/06 PHP
PHP中关键字interface和implements详解
2017/06/14 PHP
PHP defined()函数的使用图文详解
2019/07/20 PHP
laravel orm 关联条件查询代码
2019/10/21 PHP
PHP页面静态化――纯静态与伪静态用法详解
2020/06/05 PHP
深入理解JavaScript系列(4) 立即调用的函数表达式
2012/01/15 Javascript
原创jQuery弹出层插件分享
2015/04/02 Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
2015/12/16 Javascript
JS+CSS实现网页加载中的动画效果
2017/10/27 Javascript
jQuery简单判断值是否存在于数组中的方法示例
2018/04/17 jQuery
node中的密码安全(加密)
2018/09/17 Javascript
Vue2.x通用条件搜索组件的封装及应用详解
2019/05/28 Javascript
NodeJS模块Buffer原理及使用方法解析
2020/11/11 NodeJs
仅用50行代码实现一个Python编写的计算器的教程
2015/04/17 Python
python协程用法实例分析
2015/06/04 Python
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
2015/10/18 Python
安装ElasticSearch搜索工具并配置Python驱动的方法
2015/12/22 Python
TensorFlow在MAC环境下的安装及环境搭建
2017/11/14 Python
pandas数据筛选和csv操作的实现方法
2019/07/02 Python
numpy:np.newaxis 实现将行向量转换成列向量
2019/11/30 Python
python实现最速下降法
2020/03/24 Python
CSS3 transform的skew属性值图文详解
2014/07/21 HTML / CSS
美国潜水装备、水肺潜水和浮潜设备商店:Leisure Pro
2018/08/08 全球购物
欧缇丽加拿大官方网站:Caudalie加拿大
2019/07/18 全球购物
旅游管理专业学生求职信
2013/09/28 职场文书
教师实习自我鉴定
2013/12/18 职场文书
4s店机修工岗位职责
2013/12/20 职场文书
创业计划书六个要素
2013/12/26 职场文书
小学生期末评语大全
2014/04/21 职场文书
党员干部三严三实心得体会
2014/10/13 职场文书
房租涨价通知
2015/04/23 职场文书
主持人大赛开场白
2015/05/29 职场文书
PostgreSQL13基于流复制搭建后备服务器的方法
2022/01/18 PostgreSQL