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中何种情况下需要使用断言
Apr 01 Python
Python基础语言学习笔记总结(精华)
Nov 14 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
Feb 21 Python
Python中实现单例模式的n种方式和原理
Nov 14 Python
Python异常处理例题整理
Jul 07 Python
Python字符串的修改方法实例
Dec 19 Python
Django自关联实现多级联动查询实例
May 19 Python
Python打印不合法的文件名
Jul 31 Python
Python HTMLTestRunner如何下载生成报告
Sep 04 Python
python调用win32接口进行截图的示例
Nov 11 Python
python 爬取京东指定商品评论并进行情感分析
May 27 Python
基于PyQT5制作一个桌面摸鱼工具
Feb 15 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的cURL库功能简介 抓取网页、POST数据及其他
2011/04/07 PHP
类似CSDN图片切换效果脚本
2009/09/17 Javascript
asp.net+jquery滚动滚动条加载数据的下拉控件
2010/06/25 Javascript
ejs v9 javascript模板系统
2012/03/21 Javascript
jQuery绑定事件on()与弹窗的简要概述
2016/04/27 Javascript
js获取当前年月日-YYYYmmDD格式的实现代码
2016/06/01 Javascript
JS实现简单的天数计算器完整实例
2017/04/28 Javascript
js canvas实现简单的图像扩散效果
2020/06/28 Javascript
浅谈Angular文字折叠展开组件的原理分析
2017/11/24 Javascript
JavaScript实现HTML导航栏下拉菜单
2020/11/25 Javascript
[30:00]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第二场 11.28
2020/12/01 DOTA
python实现mysql的单引号字符串过滤方法
2015/11/14 Python
Python的for和break循环结构中使用else语句的技巧
2016/05/24 Python
pandas实现选取特定索引的行
2018/04/20 Python
python爱心表白 每天都是浪漫七夕!
2018/08/18 Python
python将一个英文语句以单词为单位逆序排放的方法
2018/12/20 Python
python调用matlab的m自定义函数方法
2019/02/18 Python
python利用后缀表达式实现计算器功能
2021/02/22 Python
加拿大休闲和工业服装和鞋类零售商:L’Équipeur
2018/01/12 全球购物
美国领先的商务贺卡出版商:The Gallery Collection
2018/02/13 全球购物
职业生涯规划怎么写
2013/12/29 职场文书
物业工作计划书
2014/01/10 职场文书
优秀导游先进事迹材料
2014/01/25 职场文书
班级德育工作实施方案
2014/02/21 职场文书
大学生学期自我鉴定
2014/03/19 职场文书
自强之星事迹材料
2014/05/12 职场文书
全国税务系统先进集体事迹材料
2014/05/19 职场文书
争先创优活动总结
2014/08/27 职场文书
邮政竞聘演讲稿
2014/09/03 职场文书
个人工作作风整改措施思想汇报
2014/10/13 职场文书
党员组织生活会发言材料
2014/10/17 职场文书
任命通知范文
2015/04/21 职场文书
二审答辩状范文
2015/05/22 职场文书
2015大学党建带团建工作总结
2015/07/23 职场文书
利用uni-app生成微信小程序的踩坑记录
2022/04/05 Javascript
德生2P3收音机开箱评测
2022/04/30 无线电