图书馆管理系统:

基于python系统

引用库进行操作

系统主要实现:

  1. 添加书
  2. 删除书
  3. 借书
  4. 还书
  5. 查询图书信息
  6. 查询马上要归还的图书信息
  7. 按照借阅次序排序

源码简介:

  1. 对已图书信息进行更新操作,包括添加和删除一种书的信息,修改图书信息(例如图书被借阅,书的数目减1,借阅次数加1,如果数量为0则状态为不可借);
  2. 通过按图书的名称查询图书信息;
  3. 显示所有即将到期的图书进行排序;
  4. 将图书的所有相关信息内容存为文件。

源码运用:

运用到了python知识,在Python中,lambda函数是使用lambda表达式定义的单行匿名函数。它常用于将函数作为参数传递等场景。lambda函数具有lambda<参数>:<表达式>的格式。它没有函数名,函数体只有一条语句,这条语句的结果就是该函数的返回值。

整个代码中反复使用了for循环

[:-1]是python特有的切片操作,也叫切割操作,这里的下标0表示左起第一个元素,-1表示倒数最后一个元素。取一个list或tuple的部分元素是非常常见的操作

mode=”w+”表示即可以写数据又可以读取数据

<小总结>

用来应付大一大二python课程设计绰绰有余

以下代码仅供参考!并不完整!

可以私信

(全天25小时在线)

import datetimebook_info = ["索引", "名称", "地址", "类别", "数量", "价格", "入库时间", "归还时间", "次数", "状态"]
book_info1 = [1, "红楼梦", "图书馆A1", "人文", 1, 22, datetime.datetime(2018, 1, 1), datetime.datetime(2018, 1, 1), 1, "可借"]
book_info2 = [2, "西游记", "图书馆A2", "人文", 1, 22, datetime.datetime(2018, 1, 1), datetime.datetime(2018, 1, 1), 2, "可借"]
book_info3 = [3, "水浒传", "图书馆A3", "人文", 1, 22, datetime.datetime(2018, 1, 1), datetime.datetime(2018, 1, 1), 3, "可借"]
all_book_info = [book_info1, book_info2, book_info3]def add_book(_book_info, mode="a+"):f = open(r'lib.txt', mode)print(_book_info, file=f)f.close()def renew_books(_all_books):for index, _book in enumerate(_all_books):if index == 0:add_book(_book, mode="w+")else:add_book(_book)def read_books():f = open(r'lib.txt', "r")_books_info = f.read()_books_info_str = _books_info.split("\n")[:-1]_return_info = []for _book in _books_info_str:_return_info.append(eval(_book))f.close()return _return_infoprint("1.添加书")
print("2.删除书")
print("3.借书")
print("4.还书")
print("5.查询图书信息")
print("6.查询马上要归还的图书信息")
print("7.按照借阅次数排序")
print("************")
do_now = int(input("你想做什么呢?(输入为数字)"))# book_info = ["索引", "名称", "地址", "类别", "数量", "价格", "入库时间", "归还时间", "次数", "状态"]
# datetime.datetime(2018, 1, 1)
if do_now == 1:print("1.添加书")the_add_book = []for info in book_info:# intif info in ["索引", "数量", "价格", "次数"]:put_number = int(input(info + ":"))the_add_book.append(put_number)# datetimeelif info in ["入库时间", "归还时间"]:put_date = input(info + ":(用逗号分开年月日)").split(",")the_add_book.append(datetime.datetime(int(put_date[0]), int(put_date[1]), int(put_date[2])))# strelse:put_txt = input(info + ":")the_add_book.append(put_txt)add_book(the_add_book)elif do_now == 2:# 读取所有书all_book_info = read_books()# 把所有书名打出for _book in all_book_info:print(_book[1])del_book_name = input("你想删除哪一本书?")# stay_book -> 最后留下来的书stay_book = []for _book in all_book_info:if del_book_name != _book[1]:stay_book.append(_book)renew_books(stay_book)elif do_now == 3:# 读取所有书all_book_info = read_books()# 把所有书名打出for _book in all_book_info:if "不" not in _book[-1]:print(_book[1])borrow_book_name = input("你想借哪一本书?")for _book in all_book_info:if borrow_book_name == _book[1]:_book[4] = _book[4] - 1_book[-2] = _book[-2] + 1if _book[4] == 0:_book[-1] = "不可借"renew_books(all_book_info)elif do_now == 4:# 读取所有书all_book_info = read_books()# 把所有书名打出for _book in all_book_info:print(_book[1])return_book_name = input("你想还哪一本书?")for _book in all_book_info:if return_book_name == _book[1]:_book[4] = _book[4] + 1if _book[4] == 1:_book[-1] = "可借"renew_books(all_book_info)elif do_now == 5:# 读取所有书all_book_info = read_books()# 把所有书名打出for _book in all_book_info:print(_book[1])search_book_name = input("你想查询哪一本书?")for _book in all_book_info:if search_book_name == _book[1]:print(_book)renew_books(all_book_info)elif do_now == 6:all_book_info = read_books()# 把所有书名打出for _book in all_book_info:# datetime.datetime.now() ->获取当前日期if datetime.datetime.now() - _book[-3] > datetimetimedelta(days=3):print(_book[1], datetime.datetime.now() - _book[-3])elif do_now == 7:all_book_info = read_books()all_book_info.sort(key=lambda x: x[-2] * -1)for _book in all_book_info:print(_book[1])

Python课程设计:图书馆管理系统相关推荐

  1. Python课程设计-图书管理系统

    Python课程设计-图书管理系统 摘要 第一章 绪论 1.1 开发环境及技术 1.2 系统实现功能描述 第二章 功能详细设计与实现 2.1 系统框架各层次实现 2.1.1 可视页面设计 2 数据库设 ...

  2. c语言课程设计作业图书管理系统,C语言课程设计图书馆管理系统程序代码.doc

    C语言课程设计图书馆管理系统程序代码.doc includestdio.h includewindows.h includestring.h includeconio.h define M 100 s ...

  3. Java web 课程设计——图书馆管理系统(SSM)

    题目要求 本网上图书馆系统应实现图书网上检索.预约和续借功能: 系统管理:定义读者类别并设置参数,添加.修改和删除读者信息. 图书续借和预约:实现图书的续借.预约等功能. 图书检索:按书名或作者等信息 ...

  4. 数据库课程设计-图书馆管理系统(1.数据库分析部分)

    图书馆管理系统第一部分,数据库分析. 主要是需求分析.设计概要模块.数据库概念结构设计(E-R图).数据库逻辑结构设计(表.存储过程.触发器) 目录 1. 需求分析 1.1 数据流图 1.2 数据字典 ...

  5. python课程设计汽车销售管理系统_汽车销售管理系统课程设计.doc

    课程设计报告 一. 需求分析 描述问题,简述题目要解决的问题是什么?规定软件做什么. 编写一个简单的4S店汽车销售管理程序,帮助管理汽车销售信息.要求具有汽车销售信息管理的功能.汽车销售信息管理包括汽 ...

  6. c++课程设计图书馆管理系统总结

    从刚开始做图书馆管理系统到现在,经过了无数次的修改,由程序不成熟逐步的发展,更新,整个过程中,我得到了很多的收获,下面简单说一下自己的感悟: 做任何一个程序,一开始必须要有一个总的规划,整体的思路必须 ...

  7. python课程设计汽车销售管理系统_Python课程设计:汽车销售管理系统

    """ 汽车销售管理系统功能 根据实验指导书要求,完成相关软件系统的设计,要求内容翔实,条理清晰,主要(关键代码)须有详细注释, 写清楚测试结果,并分析存在的问题: 1) ...

  8. C语言课程设计图书馆管理系统

    #include<stdio.h> #include<string.h> #include<stdlib.h> #include<ctype.h> // ...

  9. c语言课程设计图书馆管理系统例子,C语言课程设计图书馆管理系统源程序

    审计. 消防执法执法工作轮换消防实践执法,晋升,重新培训退休关键时间同步场所审计机制,自我敦促自我约束,消防执法,自我保护. 1.3预防性消防督促当前的消防执法腐败涉及违法执法的呈上升趋势,从近年来的 ...

最新文章

  1. Windows 2008 R2+iis7.5环境下Discuz!X3论坛伪静态设置方法
  2. java判斷素數,算法改進 | java語言中判斷素數
  3. Linux下安装配置virtualenv与virtualenvwrapper
  4. Effective_STL 学习笔记(四十三) 尽量用算法调用代替手写循环
  5. Linux命令之ln软链接
  6. 撒花!《图解深度学习》已开源,16 章带你无障碍深度学习,高中生数学就 ok!
  7. 16 导出pcb各网络的布线长度_PCB原理图常见错误分析
  8. kafka报错与调试技巧
  9. 网络演算(Networkcalculus)
  10. mysql innodb redolog_MySQL · 引擎特性 · InnoDB redo log漫游(转)
  11. Android中使用shape来定义控件的显示属性
  12. 应用phpexcel导出excel文件后打不开的问题解决方法
  13. 260道网络安全工程师面试题(附答案)
  14. HTML/CSS入门(1)
  15. Leetcode题347、前K个高频元素(Python题解)Amazon面试题
  16. HTTP 404 错误 的具体意思
  17. [CODE【VS】]江哥的DP题d
  18. vue实现无缝滚动功能
  19. 用python实现祝福弹窗_python实现弹窗祝福效果
  20. 使用Java+SSM(Spring+SpringMVC+Mybatis)开发在线美食推荐网 美食推荐系统 美食天下美食爬虫 基于用户、物品的协同过滤推荐算法实现 大数据、人工智能、机器学习项目开发

热门文章

  1. java创建出现module_Eclipse创建Maven多模块工程Module开发(图文教程)
  2. ftp传输速率测试用什么软件,FTP和TCP的文件传输效率对比测试分析
  3. maven 开发布署
  4. 不会PS没关系,用Word更换证件照背景色只要30秒,建议收藏
  5. 对接抖店API-01 获取参数签名
  6. 50w年薪,够诱人的
  7. TCP,UDP创建服务器以及客户端
  8. 部队仓库管理系统有哪些功能和类型
  9. 力扣517. 超级洗衣机
  10. Linux UBI子系统设计初探