本文实例为大家分享了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代码实现图书管理系统相关推荐

  1. pythongui学生管理系统不需要链接数据库的完整代码_毕设——Python实现带GUI和连接数据库的图书管理系统!...

    前言 大三上学期的程序设计实训大作业,挑了其中一个我认为最简单的的<图书管理系统>来写.用python写是因为py有自带的GUI,即tkinter模块,对初次接触GUI的新手会比较友好.编 ...

  2. python代码质量检查工具_python代码检查工具pylint 让你的python更规范

    复制代码 代码如下: #coding:utf-8 ''' a test function module ''' import urllib import time def fetch(url): '' ...

  3. python代码重构技巧_Python代码重构

    代码重构是一件很是辛苦却很是有意义的事情,代码重构的缘由在于:django 一.代码过于冗余.沉余架构 二.代码过于耦合函数 三.代码过于复杂学习 四.接口调用超出三层优化 此次重构主要在于架构问题, ...

  4. html flash 动画效果代码大全,flash动作代码大全

    flash动画代码中的flash动作代码大全 一.几种Action命令 1.影片的播放与停止: Play( )://播放命令 stop( )://停止命令 2.改变Frame流向命令 gotoAndP ...

  5. 金色css颜色代码大全,CSS颜色代码大全

    标签:CSS颜色代码大全 颜色代码表(一): EEEEEE FFCCFF FF66FF FF00FF DDDDDD FFCCCC FF66CC FF00CC CCCCCC FFCC99 FF6699 ...

  6. JS常用脚本+html代码大全+对联广告代码效果大全

    JS常用脚本 1. on_contextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 <table border on_co ...

  7. css常用代码大全,html+css代码

    css常用代码大全,html+css代码 html+css可以很方便的进行网页的排版布局,还能减少很多不必要的代码. 一.文本设置 1.font-size: 字号参数  2.font-style: 字 ...

  8. javaweb 图书管理系统完整代码_基于Java web的图书管理系统

    源码编号:B-E00029点击查看(分类规则) 项目类型:Java EE项目(非开源) 项目名称:基于Java web的图书管理系统(library_system) 当前版本:V2.0.2版本 难度等 ...

  9. python下tkinter模块和mysql构建图书管理系统实验

    前言与准备 本次实验是大二数据库期末大作业,我采用的是python语言和mysql8.0.27制作的基于cs构架的数据库框架,由于之前从未了解过python语言,所以代码部分语言较为粗暴,未成年人请在 ...

最新文章

  1. 如何学好单片机编程?学好单片机的基础是什么?
  2. 对C语言 结构数组 指向结构变量的指针 指向结构数组的指针
  3. WSL(Windows Subsystem for Linux) 适用于Linux的Windows子系统
  4. 【AI不惑境】网络的宽度如何影响深度学习模型的性能?
  5. 16位模式/32位模式下PUSH指令探究——《x86汇编语言:从实模式到保护模式》读书笔记16
  6. 截断骨干用于检测,YOLO-ReT开源:边缘GPU设备上的高性能检测器
  7. chrome下input[type=text]的placeholder不垂直居中的问题解决
  8. c枚举类型enum例题_SystemVerilog数据类型
  9. rest post put_REST / HTTP方法:POST与PUT与PATCH
  10. 异步日志系统设计demo
  11. 本地psql连接远程Oracle虚拟机_03
  12. Elasticsearch--进阶-Query DSL基本使用和match_all---全文检索引擎ElasticSearch工作笔记010
  13. 虾米回应“关闭”消息:不予置评;明年 Win 10 或将原生运行安卓应用;Perl 项目治理新规| 极客头条...
  14. ffmpeg:获取音频采样率
  15. C++网站开发MVC框架TreeFrog Framework教程——7.ERB模板
  16. 概率空间--样本--事件--随机变量--
  17. 对于开发软件的NABCD分析
  18. vue 微信html,vue 实现微信端网页分享
  19. bex5中的常用方法总结
  20. php防止恶意刷新与刷票的方法

热门文章

  1. 历史上留下浓重一笔的黑客们
  2. C语言理论上机考试题库(二)
  3. 2018大连理工计算机考研分数线,2018年大连理工大学软件学院考研复试分数线
  4. 【考研政治】2021肖八整理(史纲部分)
  5. java抓住数据库异常请到电子邮件_l  下列关于Windows文件的叙述中,不正确的是(32)...
  6. 数据可视化:部分整体类可视化图表大全
  7. Vs错误:One of the identified items was in an invalid format.
  8. Android 泽宇二级列表
  9. 基于android音乐播放器的设计与实现
  10. 工厂方法模式(Factory Pattern)