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实现Windows上气泡提醒效果的方法
Jun 03 Python
python实现线程池的方法
Jun 30 Python
Python视频爬虫实现下载头条视频功能示例
May 07 Python
实例讲解python中的协程
Oct 08 Python
python微信公众号之关注公众号自动回复
Oct 25 Python
在Python 字典中一键对应多个值的实例
Feb 03 Python
使用OpCode绕过Python沙箱的方法详解
Sep 03 Python
python打开使用的方法
Sep 30 Python
利用Python绘制有趣的万圣节南瓜怪效果
Oct 31 Python
Python 脚本实现淘宝准点秒杀功能
Nov 13 Python
python如何进入交互模式
Jul 06 Python
人工智能深度学习OpenAI baselines的使用方法
May 20 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
介绍几个array库的新函数 php
2006/12/29 PHP
php ci框架中加载css和js文件失败的原因及解决方法
2014/07/29 PHP
discuz目录文件资料汇总
2014/12/30 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
PHP sdk文档处理常用代码示例解析
2020/12/09 PHP
锋利的jQuery 要点归纳(二) jQuery中的DOM操作(下)
2010/03/23 Javascript
jquery 操作DOM的基本用法分享
2012/04/05 Javascript
ajax异步刷新实现更新数据库
2012/12/03 Javascript
js 得到文件后缀(通过正则实现)
2013/07/08 Javascript
JQuery文字列表向上滚动的代码
2013/11/13 Javascript
ECMAScript5中的对象存取器属性:getter和setter介绍
2014/12/08 Javascript
JavaScript操作XML文件之XML读取方法
2015/06/09 Javascript
javascript之IE版本检测超简单方法
2016/08/20 Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
2017/02/10 Javascript
Koa2 之文件上传下载的示例代码
2018/03/29 Javascript
vue项目中vue-i18n和element-ui国际化开发实现过程
2018/04/25 Javascript
微信小程序中的店铺评分组件及vue中用svg实现的评分显示组件
2018/11/16 Javascript
详解微信小程序-获取用户session_key,openid,unionid - 后端为nodejs
2019/04/29 NodeJs
[42:48]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第二场 12.11
2020/12/16 DOTA
400多行Python代码实现了一个FTP服务器
2012/05/10 Python
初学Python实用技巧两则
2014/08/29 Python
Python中的单行、多行、中文注释方法
2018/07/19 Python
使用Python机器学习降低静态日志噪声
2018/09/29 Python
Python判断两个文件是否相同与两个文本进行相同项筛选的方法
2019/03/01 Python
手把手教你Python yLab的绘制折线图的画法
2019/10/23 Python
Django nginx配置实现过程详解
2020/09/10 Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
2021/01/01 Python
Python爬虫scrapy框架Cookie池(微博Cookie池)的使用
2021/01/13 Python
英国领先的瓷砖专家:Walls and Floors
2018/04/27 全球购物
大三在校生电子商务求职信
2013/10/29 职场文书
体育系毕业生求职自荐信
2014/04/16 职场文书
优秀教师个人总结
2015/02/11 职场文书
党校个人总结
2015/03/04 职场文书
创业计划书之酒店
2019/08/30 职场文书
如何使用php生成zip压缩包
2021/04/21 PHP
使用CSS实现一个搜索引擎的原理解析
2021/09/25 HTML / CSS