python实现简单图书管理系统


Posted in Python onNovember 22, 2019

用python实现一个简单的图书管理系统 ,供大家参考,具体内容如下

1、工具:PyCharm3.6 社区版

python实现简单图书管理系统

我创建了一个工程叫fairy,把解释器换成Pytnon3.6

python实现简单图书管理系统

创建一个pytnon file:图书管理系统.py

python实现简单图书管理系统

2、实现简单界面如下:

"""
 图书管理系统
 1.查询图书
 2.增加图书
 3.借阅图书
 4.归还图书
 5.退出系统
"""

3、代码实现

# 书的属性:书名,作者,状态,位置
# 管理系统:
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)
 #判断书是否存在,如果存在,判断书是否已借出,如果没有借出,借阅并将其状态改为0
 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实现简单图书管理系统

一个简单的图书管理系统就实现了,其中用到了面向对象中的类,类的实例化,函数,列表,if语句等python的基础知识。

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
java直接调用python脚本的例子
Feb 16 Python
遍历python字典几种方法总结(推荐)
Sep 11 Python
Python实现时钟显示效果思路详解
Apr 11 Python
如何安装多版本python python2和python3共存以及pip共存
Sep 18 Python
手把手教你使用Python创建微信机器人
Apr 29 Python
Python实用工具FuckIt.py介绍
Jul 02 Python
简单了解Python读取大文件代码实例
Dec 18 Python
pytorch中tensor.expand()和tensor.expand_as()函数详解
Dec 27 Python
细数nn.BCELoss与nn.CrossEntropyLoss的区别
Feb 29 Python
django模板获取list中指定索引的值方式
May 14 Python
Python不支持 i ++ 语法的原因解析
Jul 22 Python
Django用内置方法实现简单搜索功能的方法
Dec 18 Python
使用Python生成200个激活码的实现方法
Nov 22 #Python
Python的几种主动结束程序方式
Nov 22 #Python
python实现超市商品销售管理系统
Nov 22 #Python
python实现二分类的卡方分箱示例
Nov 22 #Python
python的等深分箱实例
Nov 22 #Python
基于python实现学生信息管理系统
Nov 22 #Python
基于python cut和qcut的用法及区别详解
Nov 22 #Python
You might like
索尼SONY ICF-SW7600GR电路分析与改良
2021/03/02 无线电
傻瓜化配置PHP环境――Appserv
2006/12/13 PHP
PHP面向对象编程快速入门
2006/12/14 PHP
IIS环境下快速安装、配置和调试PHP5.2.0
2006/12/17 PHP
php 破解防盗链图片函数
2008/12/09 PHP
php中实现简单的ACL 完结篇
2011/09/07 PHP
sae使用smarty模板的方法
2013/12/17 PHP
PHP 9 大缓存技术总结
2015/09/17 PHP
php封装好的人民币数值转中文大写类
2015/12/20 PHP
javascript中String类的subString()方法和slice()方法
2011/05/24 Javascript
JS原型对象通俗&quot;唱法&quot;
2012/12/27 Javascript
鼠标焦点离开文本框时验证的js代码
2013/07/19 Javascript
Js 正则表达式知识汇总
2014/12/02 Javascript
Jquery Ajax Error 调试错误的技巧
2015/11/20 Javascript
jQuery悬停文字提示框插件jquery.tooltipster.js用法示例【附demo源码下载】
2016/07/19 Javascript
微信小程序 高德地图SDK详解及简单实例(源码下载)
2017/01/11 Javascript
深入探究AngularJs之$scope对象(作用域)
2017/07/20 Javascript
Vue实现移动端页面切换效果【推荐】
2018/11/13 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
2019/03/19 Javascript
了解JavaScript中let语句
2019/05/30 Javascript
中级前端工程师必须要掌握的27个JavaScript 技巧(干货总结)
2019/09/23 Javascript
关于JSON解析的实现过程解析
2019/10/08 Javascript
Python基于matplotlib绘制栈式直方图的方法示例
2017/08/09 Python
python安装pil库方法及代码
2019/06/25 Python
Python求两个字符串最长公共子序列代码实例
2020/03/05 Python
Fossil加拿大官网:化石手表、手袋、首饰及配饰
2019/04/23 全球购物
精选干货:Java精选笔试题附答案
2014/01/18 面试题
集团公司总经理岗位职责
2013/12/20 职场文书
结婚喜宴家长答谢词
2014/01/15 职场文书
岗位职责的构建方法
2014/02/01 职场文书
大学生毕业自我鉴定范文
2014/02/03 职场文书
英语国培研修感言
2014/02/13 职场文书
项目经理任命书
2014/06/04 职场文书
python函数指定默认值的实例讲解
2021/03/29 Python
Vue2.0搭建脚手架
2022/03/13 Vue.js
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技