python代码大全书籍_python代码实现图书管理系统
本文实例为大家分享了python代码实现图书管理系统的具体代码,供大家参考,具体内容如下
图书管理系统
功能简介
添加图书时,图书ID不能重复,图书名可重复
删除,查询,修改功能,输入图书名之后提供所有的同名的图书,用户可以按照图书序号对具体的一本书进行操作
显示书籍,分行显示,每行一本书的信息
书籍信息以如下格式保存在txt文本文件格式下
源代码
#-*- 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("编号重复")
break
else:
book={}
book["book_id"]=book_id
book["book_name"]=book_name
book["book_loc"]=book_loc
books.append(book)
new_file(books)
print("添加成功")
def find_book():
jg=0
while True:
book_name=input("输入要找的书名")
for i in books:
if book_name==i["book_name"]:
print(i)
jg=1
if jg==0:
print("查找失败请重新输入")
continue
elif jg==1:
break
def dell_book():
book_name =input("请输入图书书名")
i=0
j=0
jg=0
flag=[]
while i
if books[i]["book_name"]==book_name:
id=books[i]["book_id"]
flag.append(id)
print("图书编号:{}".format(id))
jg=1
i+=1
if jg==0:
print("找不到图书名")
if jg==1:
book_id=input("请输入删除的图书编号")
i=0
while 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("删除成功")
break
i+=1
break
j+=1
else:
print("输入的编号有误")
return books
def modify_book():
book_name = input("请输入修改的图书名称")
i = 0
jg = 0
flag = []
while i < len(books):
if books[i]["book_name"] == book_name:
id = books[i]["book_id"]
flag.append(id)
print("本书图书编号:{}".format(id))
jg = 1
i += 1
if 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("输入编号重复")
break
else:
New_name = input("新的图书名称")
New_loc = input("新的图书位置")
i["book_id"] = New_id
i["book_name"] = New_name
i["book_loc"] = New_loc
new_file(books)
break
else:
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 books
def new_file(books):#将books的内容更新到文本文件里
i=0
nf = open('data', 'w+',encoding='utf8') # 以清空原文本文件内容的方式打开文件写入
while i
new=str(books[i])
nf.write(new)
if i !=len(books)-1:
nf.write("\n")
i+=1
nf.close()
if __name__=="__main__":#主要流程
while True:
data="data"
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代码实现图书管理系统相关推荐
- pythongui学生管理系统不需要链接数据库的完整代码_毕设——Python实现带GUI和连接数据库的图书管理系统!...
前言 大三上学期的程序设计实训大作业,挑了其中一个我认为最简单的的<图书管理系统>来写.用python写是因为py有自带的GUI,即tkinter模块,对初次接触GUI的新手会比较友好.编 ...
- python代码质量检查工具_python代码检查工具pylint 让你的python更规范
复制代码 代码如下: #coding:utf-8 ''' a test function module ''' import urllib import time def fetch(url): '' ...
- python代码重构技巧_Python代码重构
代码重构是一件很是辛苦却很是有意义的事情,代码重构的缘由在于:django 一.代码过于冗余.沉余架构 二.代码过于耦合函数 三.代码过于复杂学习 四.接口调用超出三层优化 此次重构主要在于架构问题, ...
- html flash 动画效果代码大全,flash动作代码大全
flash动画代码中的flash动作代码大全 一.几种Action命令 1.影片的播放与停止: Play( )://播放命令 stop( )://停止命令 2.改变Frame流向命令 gotoAndP ...
- 金色css颜色代码大全,CSS颜色代码大全
标签:CSS颜色代码大全 颜色代码表(一): EEEEEE FFCCFF FF66FF FF00FF DDDDDD FFCCCC FF66CC FF00CC CCCCCC FFCC99 FF6699 ...
- JS常用脚本+html代码大全+对联广告代码效果大全
JS常用脚本 1. on_contextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 <table border on_co ...
- css常用代码大全,html+css代码
css常用代码大全,html+css代码 html+css可以很方便的进行网页的排版布局,还能减少很多不必要的代码. 一.文本设置 1.font-size: 字号参数 2.font-style: 字 ...
- javaweb 图书管理系统完整代码_基于Java web的图书管理系统
源码编号:B-E00029点击查看(分类规则) 项目类型:Java EE项目(非开源) 项目名称:基于Java web的图书管理系统(library_system) 当前版本:V2.0.2版本 难度等 ...
- python下tkinter模块和mysql构建图书管理系统实验
前言与准备 本次实验是大二数据库期末大作业,我采用的是python语言和mysql8.0.27制作的基于cs构架的数据库框架,由于之前从未了解过python语言,所以代码部分语言较为粗暴,未成年人请在 ...
最新文章
- 如何学好单片机编程?学好单片机的基础是什么?
- 对C语言 结构数组 指向结构变量的指针 指向结构数组的指针
- WSL(Windows Subsystem for Linux) 适用于Linux的Windows子系统
- 【AI不惑境】网络的宽度如何影响深度学习模型的性能?
- 16位模式/32位模式下PUSH指令探究——《x86汇编语言:从实模式到保护模式》读书笔记16
- 截断骨干用于检测,YOLO-ReT开源:边缘GPU设备上的高性能检测器
- chrome下input[type=text]的placeholder不垂直居中的问题解决
- c枚举类型enum例题_SystemVerilog数据类型
- rest post put_REST / HTTP方法:POST与PUT与PATCH
- 异步日志系统设计demo
- 本地psql连接远程Oracle虚拟机_03
- Elasticsearch--进阶-Query DSL基本使用和match_all---全文检索引擎ElasticSearch工作笔记010
- 虾米回应“关闭”消息:不予置评;明年 Win 10 或将原生运行安卓应用;Perl 项目治理新规| 极客头条...
- ffmpeg:获取音频采样率
- C++网站开发MVC框架TreeFrog Framework教程——7.ERB模板
- 概率空间--样本--事件--随机变量--
- 对于开发软件的NABCD分析
- vue 微信html,vue 实现微信端网页分享
- bex5中的常用方法总结
- php防止恶意刷新与刷票的方法
热门文章
- 历史上留下浓重一笔的黑客们
- C语言理论上机考试题库(二)
- 2018大连理工计算机考研分数线,2018年大连理工大学软件学院考研复试分数线
- 【考研政治】2021肖八整理(史纲部分)
- java抓住数据库异常请到电子邮件_l 下列关于Windows文件的叙述中,不正确的是(32)...
- 数据可视化:部分整体类可视化图表大全
- Vs错误:One of the identified items was in an invalid format.
- Android 泽宇二级列表
- 基于android音乐播放器的设计与实现
- 工厂方法模式(Factory Pattern)