Python:图书管理系统
图书管理系统
功能简介
- 添加图书时,图书ID不能重复,图书名可重复
- 删除,查询,修改功能,输入图书名之后提供所有的同名的图书,用户可以按照图书序号对具体的一本书进行操作
- 显示书籍,分行显示,每行一本书的信息
书籍信息以如下格式保存在txt文本文件下
{"book_id":"001","book_name":"三体","book_loc":"0-0-1"}
{"book_id":"002","book_name":"三体","book_loc":"0-0-2"}
源代码
#-*- coding=utf8 -*-
# @author:sololi
# date: 2020/11/12
# 文件说明 : data 为存储的图书信息
import sys
def print_muen():print("----菜单提示----")print("[1]:添加图书")print("[2]:查询图书")print("[3]:删除图书")print("[4]:修改图书信息")print("[5]:显示所有图书")print("[6]:退出")def add_book():book_id=input("请输入图书编号")book_name=input("请输入图书名称")book_loc=input("请输入图书位置")for i in books:if book_id==i["book_id"]:print("编号重复")breakelse:book={}book["book_id"]=book_idbook["book_name"]=book_namebook["book_loc"]=book_locbooks.append(book)new_file(books)print("添加成功")def find_book():jg=0while True:book_name=input("输入要找的书名")for i in books:if book_name==i["book_name"]:print(i)jg=1if jg==0:print("查找失败请重新输入")continueelif jg==1:breakdef dell_book():book_name =input("请输入图书书名")i=0j=0jg=0flag=[]while i<len(books):if books[i]["book_name"]==book_name:id=books[i]["book_id"]flag.append(id)print("图书编号:{}".format(id))jg=1i+=1if jg==0:print("找不到图书名")if jg==1:book_id=input("请输入删除的图书编号")i=0while j < len(flag):if flag[j] == book_id:while i < len(books):if books[i]["book_id"] == book_id:del books[i]new_file(books)print("删除成功")breaki+=1breakj+=1else:print("输入的编号有误")return booksdef modify_book():book_name = input("请输入修改的图书名称")i = 0jg = 0flag = []while i < len(books):if books[i]["book_name"] == book_name:id = books[i]["book_id"]flag.append(id)print("本书图书编号:{}".format(id))jg = 1i += 1if jg == 0:print("找不到图书名")elif jg == 1:book_id = input("请输入修改的图书编号,或者其他需要修改的图书编号")for i in books:if book_id == i["book_id"]:New_id = input("新的图书编号")if New_id == i["book_id"]:print("输入编号重复")breakelse:New_name = input("新的图书名称")New_loc = input("新的图书位置")i["book_id"] = New_idi["book_name"] = New_namei["book_loc"] = New_locnew_file(books)breakelse:print("输入有误")def all_book():for i in books:print(i)def read_book(data):#将文本文件里的图书信息读取到books中f = open(data, mode="r", encoding="utf8")books = f.readlines()f.close()for i in range(0, len(books)):books[i] = eval(books[i].replace("\n", ""))return booksdef new_file(books):#将books的内容更新到文本文件里i=0nf = open(data, 'w+',encoding='utf8') # 以清空原文本文件内容的方式打开文件写入while i<len(books):new=str(books[i])nf.write(new)if i !=len(books)-1:nf.write("\n")i+=1nf.close()if __name__=="__main__":#主要流程data = str(input(r"请输入您的图书信息路径(例如:D:\books.txt):")) #读取数据信息while True:books=read_book(data)print_muen()choice=input("请输入您的选择")if choice=='1':add_book()all_book()elif choice=='2':find_book()elif choice=='3':dell_book()all_book()elif choice=='4':modify_book()all_book()elif choice == '5':all_book()elif choice == '6':print("感谢您的使用")sys.exit(0)else:print("您的输入有误,请重新输入")
还可以添加一个登录与注册系统:点击此处
Python:图书管理系统相关推荐
- 一个简单的基于python图书管理系统
一个简单的基于python图书管理系统 开发平台:pycharm 开发语言:python 数据库:mysql 登录界面 主界面 数据库文件 想要的联系丘丘:793064854.2R带走
- python毕业设计开题报告-基于Python图书管理系统开题报告
选题的背景.意义及研究现状: 研究背景及意义: 随着我国的教育产业的快速发展,各个学校的学生数量越来越多,在这种情况下的图书馆书籍管理和查询,以及读者的管理变得非常困难,使用计算机软件的图书管理系统来 ...
- python+图书管理系统
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.代码展示 总结 前言 运用Python编程语言,实现图书管藏书(书号.书名.出版社.作者.价格以及库存).学生信息 ...
- Python图书管理系统(一)
最近在写一个项目--图书管理系统 在完成这个项目的道路上我写了2个基础的图书管理系统. ①用IO完成数据存储的图书管理系统 ②用MySQL完成数据存储的图书管理系统 今天先来更新第一个用IO操作 ...
- Python图书管理系统(二)
文章目录 前言 PyMySQL 安装 PyMySQL 使用 数据库方面的准备 图书管理系统代码 前言 上次写了用IO完成数据存储的图书管理系统, 这次更新一个用MySQL完成数 ...
- python 图书管理系统书写
题目:写一个简单的图书借阅系统 ...
- Python图书管理系统(课设)
基于python的tkinter,将图书管理系统的界面进行简单的开发,我在这里使用的方法比较简单理解,但是代码过于繁多.添加.删除及修改并未使用数据库,而是使用了csv文件的读取操作,从而替代数据库. ...
- python图书管理系统
以下三个文件需在同一目录下.json文件格式不能更改 books-fxm.json [{"name": "图书管理","author": & ...
- python图书管理系统增删改查_图书管理系统---增删改查
此代码只考虑正确情况,未判断错误情况 package dboperate; import java.util.Scanner; import model.BookDB; import dboperat ...
- Python图书管理系统(终章)
文章目录 前言 总的项目布局 效果展示 全部代码 总结 前言 上次写了用MySQL完成数据存储的图书管理系统, 这次我将把各个模块划分为系统的各个功能,通过flask框架与前端 ...
最新文章
- 电子学会青少年编程等级考试Python案例10
- 简单配置jena在eclipse的开发环境
- 键盘连击测试_测试梗欢迎补充
- itext设置pdf的尺寸_如何获取pdf文档iText 7的页面大小-问答-阿里云开发者社区-阿里云...
- bzoj2733永无乡
- Java笔记(一)—StringBuilder类
- mysql多条件查询_excel用字典处理多条件查询问题
- stat---文件状态信息结构体
- paramiko模块执行linux下nohup卡住的问题。
- 斯坦福NLP名课带学详解 | CS224n 第6讲 - 循环神经网络与语言模型(NLP通关指南·完结)
- 基于MODBUS通讯协议的酒厂温湿度、光照度数据采集系统的设计与实现
- 两台计算机如何打印机共享打印机,多台电脑怎样共享一台打印机?方法就是这么简单!...
- JavaScript冒泡排序(升序排列)
- sdn 深信服_推动物联网安全行业发展,青莲云受邀出席2019深信服创新大会
- python orm框架
- Symantec Backup Exec部署手册
- 网站导航栏SEO优化方法
- 易观 OLAP 大赛揭晓 PingCAP 斩获商业组桂冠
- vue *** is not a function 解决
- 推荐一个好用的免费空间