本文实例为大家分享了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<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("找不到图书名")
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<len(books):
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("您的输入有误,请重新输入")
还可以添加一个登录与注册系统:点击此处
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“python代码实现图书管理系统”评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新动态
2025年10月28日
2025年10月28日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]

