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 相关文章推荐
go和python调用其它程序并得到程序输出
Feb 10 Python
python实现定制交互式命令行的方法
Jul 03 Python
用python写的一个wordpress的采集程序
Feb 27 Python
Python win32com 操作Exce的l简单方法(必看)
May 25 Python
Python基于Floyd算法求解最短路径距离问题实例详解
May 16 Python
对json字符串与python字符串的不同之处详解
Dec 19 Python
django celery redis使用具体实践
Apr 08 Python
django解决订单并发问题【推荐】
Jul 31 Python
Python 多线程,threading模块,创建子线程的两种方式示例
Sep 29 Python
pycharm 配置svn的图文教程(手把手教你)
Jan 15 Python
python 实现有道翻译功能
Feb 26 Python
Pytorch实现WGAN用于动漫头像生成
Mar 04 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
VFP与其他应用程序的集成
2006/10/09 PHP
基于PHP异步执行的常用方式详解
2013/06/03 PHP
PHP函数microtime()用法与说明
2013/12/04 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
2014/10/23 PHP
php+ajax 文件上传代码实例
2019/03/18 PHP
基于jquery的地址栏射击游戏代码
2011/03/10 Javascript
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
jQuery仿Excel表格编辑功能的实现代码
2013/05/01 Javascript
Jquery日期选择datepicker插件用法实例分析
2015/06/08 Javascript
jQuery中ajax的load()与post()方法实例详解
2016/01/05 Javascript
jQuery实现从身份证号中获取出生日期和性别的方法分析
2016/02/25 Javascript
AngularJS页面带参跳转及参数解析操作示例
2017/06/28 Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
2018/07/10 Javascript
jQuery实现适用于移动端的跑马灯抽奖特效示例
2019/01/18 jQuery
vue实现微信获取用户信息的方法
2019/03/21 Javascript
Jquery属性的获取/设置及样式添加/删除操作技巧分析
2019/12/23 jQuery
JS实现可控制的进度条
2020/03/25 Javascript
[36:05]DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs Optic
2018/04/01 DOTA
python使用递归解决全排列数字示例
2014/02/11 Python
Python基于Tkinter实现的记事本实例
2015/06/17 Python
在Django的URLconf中进行函数导入的方法
2015/07/18 Python
Python采用Django制作简易的知乎日报API
2016/08/03 Python
Python脚本处理空格的方法
2016/08/08 Python
Python 寻找局部最高点的实现
2019/12/05 Python
详解Python多线程下的list
2020/07/03 Python
如何用Matplotlib 画三维图的示例代码
2020/07/28 Python
利用python制作拼图小游戏的全过程
2020/12/04 Python
python中lower函数实现方法及用法讲解
2020/12/23 Python
软件配置管理有什么好处
2015/04/15 面试题
师范应届毕业生自荐信
2013/11/18 职场文书
国际政治个人自荐信范文
2013/11/26 职场文书
医学专业大学生求职信
2014/07/12 职场文书
社区党建工作汇报材料
2014/08/14 职场文书
初婚未育证明样本
2014/10/24 职场文书
公务员处分决定书
2015/06/25 职场文书
初级职称评定工作总结
2015/08/13 职场文书