python实现简单图书管理系统

yipeiwu_com5年前Python基础

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

1、工具:PyCharm3.6 社区版

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

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

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()

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python列表list内建函数用法实例分析【insert、remove、index、pop等】

Python列表list内建函数用法实例分析【insert、remove、index、pop等】

本文实例讲述了Python列表list内建函数用法。分享给大家供大家参考,具体如下: #coding=utf8 ''''' 标准类型函数: cmp():进行序列比较的算法规则如下:...

Python获取网段内ping通IP的方法

问题描述 在某些问题背景下,需要确认是否多台终端在线,也就是会使用我们牛逼的ping这个命令,做一些的ping操作,如果需要确认的设备比较少,也还能承受。倘若,在手中维护的设备很多。那么...

在Python中关于使用os模块遍历目录的实现方法

一、Python中os模块的常见的使用方法 os.listdir(path):遍历path的文件或者文件夹,返回一个列表 os.path.join(path1,path2,……,path...

Python之数据序列化(json、pickle、shelve)详解

什么是序列化 什么是序列化,把程序中的对象或者变量,从内存中转换为可存储或可传输的过程称为序列化。在 Python 中,这个过程称为 pickling,在其他语言中也被称为 seria...

使用Python paramiko模块利用多线程实现ssh并发执行操作

1.paramiko概述 ssh是一个协议,OpenSSH是其中一个开源实现,paramiko是Python的一个库,实现了SSHv2协议(底层使用cryptography)。 有了Pa...