python实现简单图书管理系统

 更新时间:2019年11月22日 11:02:03   作者:马克图布s  
这篇文章主要为大家详细介绍了python实现简单图书管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

用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的基础知识。

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持程序员之家。

相关文章

  • 通俗的讲解深度学习中CUDA,cudatookit,cudnn和pytorch的关系

    通俗的讲解深度学习中CUDA,cudatookit,cudnn和pytorch的关系

    有些刚入行的朋友总是搞不清楚CUDA,cudatookit,cudnn和pytorch的关系,那么今天这篇文章用通俗易懂的话讲解了他们之间的关系,需要的朋友可以参考下,相信会对你有所帮助
    2023-03-03
  • pymongo为mongodb数据库添加索引的方法

    pymongo为mongodb数据库添加索引的方法

    这篇文章主要介绍了pymongo为mongodb数据库添加索引的方法,涉及Python操作mongodb数据库的相关技巧,非常简单实用,需要的朋友可以参考下
    2015-05-05
  • PyTorch小功能之TensorDataset解读

    PyTorch小功能之TensorDataset解读

    这篇文章主要介绍了PyTorch小功能之TensorDataset解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Python中append浅拷贝机制详解

    Python中append浅拷贝机制详解

    在 Python 中,对象赋值实际上是对象的引用。当创建一个对象,然后把它赋给另一个变量的时候,Python 并没有拷贝这个对象,而只是拷贝了这个对象的引用,我们称之为浅拷贝,这篇文章主要介绍了Python中append浅拷贝机制,需要的朋友可以参考下
    2023-02-02
  • 浅析PEP572: 海象运算符

    浅析PEP572: 海象运算符

    PEP572的标题是「Assignment Expressions」,也就是「赋值表达式」,也叫做「命名表达式」,不过它现在被广泛的别名是「海象运算符」(The Walrus Operator)
    2019-10-10
  • 详解python OpenCV学习笔记之直方图均衡化

    详解python OpenCV学习笔记之直方图均衡化

    本篇文章主要介绍了详解python OpenCV学习笔记之直方图均衡化,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • 进一步探究Python的装饰器的运用

    进一步探究Python的装饰器的运用

    这篇文章主要介绍了更为深入的Python的装饰器的运用,Python的装饰器是Python学习进阶当中的重要知识点,需要的朋友可以参考下
    2015-05-05
  • python中zip和unzip数据的方法

    python中zip和unzip数据的方法

    这篇文章主要介绍了python中zip和unzip数据的方法,实例分析了Python中zlib模块的相关使用技巧,需要的朋友可以参考下
    2015-05-05
  • 深入讲解Python中的上下文管理器和with语句

    深入讲解Python中的上下文管理器和with语句

    这篇文章主要为大家介绍了Python中的上下文管理器和with语句的深入讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • python实现杨辉三角的3种方法(迭代、生成器和递归)

    python实现杨辉三角的3种方法(迭代、生成器和递归)

    这篇文章主要给大家介绍了关于python实现杨辉三角的3种方法,分别是迭代、生成器和递归的相关资料,杨辉三角形的规则就是每行的第一个数字和最后一个数字为1之外,其余每个数字等于上一行对应两个数字的和,需要的朋友可以参考下
    2023-11-11

最新评论

?


http://www.vxiaotou.com