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中对列表排序实例
Jan 04 Python
详解Python中的__new__()方法的使用
Apr 09 Python
使用Python的urllib和urllib2模块制作爬虫的实例教程
Jan 20 Python
Python实现信用卡系统(支持购物、转账、存取钱)
Jun 24 Python
Flask之flask-script模块使用
Jul 26 Python
python 实现A*算法的示例代码
Aug 13 Python
浅谈django三种缓存模式的使用及注意点
Sep 30 Python
PyCharm2019安装教程及其使用(图文教程)
Sep 29 Python
Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法
Mar 20 Python
基于SpringBoot构造器注入循环依赖及解决方式
Apr 26 Python
解决python3安装pandas出错的问题
May 20 Python
Python爬取奶茶店数据分析哪家最好喝以及性价比
Sep 23 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开发框架总结收藏
2008/04/24 PHP
THINKPHP内容分页代码分享
2015/01/14 PHP
PHP SPL标准库中的常用函数介绍
2015/05/11 PHP
js使用循环清空某个div中的input标签值
2014/09/29 Javascript
JavaScript中的索引数组、关联数组和静态数组、动态数组讲解
2014/11/08 Javascript
JS生成某个范围的随机数【四种情况详解】
2016/04/20 Javascript
js 自带的sort() 方法全面了解
2016/08/16 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/10/05 Javascript
AngularJS创建自定义指令的方法详解
2016/11/03 Javascript
怎样判断jQuery当前元素是隐藏还是显示
2016/11/23 Javascript
完全深入学习Bootstrap表单
2016/11/28 Javascript
React学习笔记之列表渲染示例详解
2017/08/22 Javascript
Vue利用路由钩子token过期后跳转到登录页的实例
2017/10/26 Javascript
JavaScript函数绑定用法实例分析
2017/11/14 Javascript
在Vue组件中使用 TypeScript的方法
2018/02/28 Javascript
详解vue-cli3开发Chrome插件实践
2019/05/29 Javascript
layui 实现表格某一列显示图标
2019/09/19 Javascript
[07:55]2014DOTA2 TI正赛第三日 VG上演推进荣耀DKEG告别
2014/07/21 DOTA
使用python检测手机QQ在线状态的脚本代码
2013/02/10 Python
Python使用django搭建web开发环境
2017/06/09 Python
分享一个简单的python读写文件脚本
2017/11/25 Python
TensorFlow平台下Python实现神经网络
2018/03/10 Python
PyQt打开保存对话框的方法和使用详解
2019/02/27 Python
详解Python爬取并下载《电影天堂》3千多部电影
2019/04/26 Python
Python Django切换MySQL数据库实例详解
2019/07/16 Python
python list多级排序知识点总结
2019/10/23 Python
基于python的列表list和集合set操作
2019/11/24 Python
python实现12306登录并保存cookie的方法示例
2019/12/17 Python
pymysql的简单封装代码实例
2020/01/08 Python
opencv python图像梯度实例详解
2020/02/04 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
2020/02/10 Python
机电专业体育教师求职信
2013/09/21 职场文书
学生档案自我鉴定
2013/10/07 职场文书
2014元旦晚会策划方案
2014/02/19 职场文书
自定义函数实现单词排序并运用于PostgreSQL(实现代码)
2021/04/22 PostgreSQL
MySQL系列之九 mysql查询缓存及索引
2021/07/02 MySQL