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算法学习之计数排序实例
Dec 18 Python
Python实现给文件添加内容及得到文件信息的方法
May 28 Python
Python探索之实现一个简单的HTTP服务器
Oct 28 Python
Python subprocess库的使用详解
Oct 26 Python
Python 互换字典的键值对实例
Feb 12 Python
linux环境下Django的安装配置详解
Jul 22 Python
python字典的setdefault的巧妙用法
Aug 07 Python
Django框架HttpRequest对象用法实例分析
Nov 01 Python
Python小程序之在图片上加入数字的代码
Nov 26 Python
Tensorflow 实现分批量读取数据
Jan 04 Python
Python爬虫爬取全球疫情数据并存储到mysql数据库的步骤
Mar 29 Python
OpenCV3.3+Python3.6实现图片高斯模糊
May 18 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/12 PHP
php中heredoc与nowdoc介绍
2014/12/25 PHP
php中static 静态变量和普通变量的区别
2016/12/01 PHP
jQuery UI-Draggable 参数集合
2010/01/10 Javascript
jquery判断浏览器类型的代码
2012/11/05 Javascript
parentElement,srcElement的使用小结
2014/01/13 Javascript
如何屏蔽防止别的网站嵌入框架代码
2015/08/24 Javascript
js实现右键菜单功能
2016/11/28 Javascript
JS实现京东首页之页面顶部、Logo和搜索框功能
2017/01/12 Javascript
jquery中关于bind()方法的使用技巧分享
2017/03/30 jQuery
判断滚动条滑到底部触发事件(实例讲解)
2017/11/15 Javascript
深入理解node.js http模块
2018/01/24 Javascript
JQuery中的常用事件、对象属性与使用方法分析
2019/12/23 jQuery
node+multer实现图片上传的示例代码
2020/02/18 Javascript
js基于canvas实现时钟组件
2021/02/07 Javascript
[01:22]DOTA2神秘商店携大量周边降临完美大师赛
2017/11/07 DOTA
Python 内置函数memoryview(obj)的具体用法
2017/11/23 Python
Python爬虫之正则表达式的使用教程详解
2018/10/25 Python
Pandas GroupBy对象 索引与迭代方法
2018/11/16 Python
用python脚本24小时刷浏览器的访问量方法
2018/12/07 Python
Python实现程序判断季节的代码示例
2019/01/28 Python
Pyqt5 基本界面组件之inputDialog的使用
2019/06/25 Python
pow在python中的含义及用法
2019/07/11 Python
Python中求对数方法总结
2020/03/10 Python
Python实现将元组中的元素作为参数传入函数的操作
2020/06/05 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
2020/12/31 Python
英国马莎百货印度官网:Marks & Spencer印度
2020/10/08 全球购物
同步和异步有何异同,在什么情况下分别使用他们?
2012/12/28 面试题
夜大毕业自我鉴定
2013/10/11 职场文书
大学生学年自我鉴定
2014/02/10 职场文书
银行行长竞聘演讲稿
2014/04/23 职场文书
贷款委托书怎么写
2014/08/02 职场文书
党员学习党的群众路线思想汇报(5篇)
2014/09/10 职场文书
甲午风云观后感
2015/06/02 职场文书
2016年教师党员公开承诺书
2016/03/24 职场文书
python turtle绘制多边形和跳跃和改变速度特效
2022/03/16 Python