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 相关文章推荐
pymongo给mongodb创建索引的简单实现方法
May 06 Python
Python实现字符串的逆序 C++字符串逆序算法
May 28 Python
Django安装配置mysql的方法步骤
Oct 15 Python
python提取照片坐标信息的实例代码
Aug 14 Python
python+pygame实现坦克大战
Sep 10 Python
pandas read_excel()和to_excel()函数解析
Sep 19 Python
python3实现用turtle模块画一棵随机樱花树
Nov 21 Python
python判断无向图环是否存在的示例
Nov 22 Python
python随机生成大小写字母数字混合密码(仅20行代码)
Feb 01 Python
Python递归函数特点及原理解析
Mar 04 Python
解决PyCharm IDE环境下,执行unittest不生成测试报告的问题
Sep 03 Python
pygame面向对象的飞行小鸟实现(Flappy bird)
Apr 01 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
overlord人气高涨,却被菲利普频繁举报,第四季很难在国内上映
2020/05/06 日漫
无线电广播的开始
2002/01/30 无线电
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
2006/10/09 PHP
使用php shell命令合并图片的代码
2011/06/23 PHP
php实现在多维数组中查找特定value的方法
2015/07/29 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
2016/08/17 PHP
php自定义函数实现二维数组按指定key排序的方法
2016/09/29 PHP
javascript 添加和移除函数的通用方法
2009/10/20 Javascript
jQuery 获取和设置select下拉框的值实现代码
2013/11/08 Javascript
JS实现CheckBox复选框全选全不选功能
2015/05/06 Javascript
jquery遍历函数siblings()用法实例
2015/12/24 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
Angular.js基础学习之初始化
2017/03/10 Javascript
基于vue-cli、elementUI的Vue超简单入门小例子(推荐)
2019/04/17 Javascript
NodeJS http模块用法示例【创建web服务器/客户端】
2019/11/05 NodeJs
javascript设计模式 ? 迭代器模式原理与用法实例分析
2020/04/17 Javascript
[34:10]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
[59:30]完美世界DOTA2联赛PWL S3 access vs LBZS 第二场 12.20
2020/12/23 DOTA
python中argparse模块用法实例详解
2015/06/03 Python
Python正规则表达式学习指南
2016/08/02 Python
Python实现公历(阳历)转农历(阴历)的方法示例
2017/08/22 Python
Python WXPY实现微信监控报警功能的代码
2017/10/20 Python
Python操作Sql Server 2008数据库的方法详解
2018/05/17 Python
python实现C4.5决策树算法
2018/08/29 Python
Python基础教程之异常详解
2019/01/10 Python
Tensorflow 实现分批量读取数据
2020/01/04 Python
Python实现JS解密并爬取某音漫客网站
2020/10/23 Python
用python获取txt文件中关键字的数量
2020/12/24 Python
大学生毕业自荐信
2013/10/10 职场文书
上课打牌的检讨书
2014/02/15 职场文书
社会学专业求职信
2014/02/24 职场文书
商场主管竞聘书
2014/03/31 职场文书
技术员岗位职责
2015/02/04 职场文书
2016年小学生寒假家长评语
2015/10/10 职场文书
《我们的民族小学》教学反思
2016/02/19 职场文书
Python中with上下文管理协议的作用及用法
2022/03/18 Python