杰网资源 Design By www.escxy.com
本文实例为大家分享了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("您的输入有误,请重新输入")
还可以添加一个登录与注册系统:点击此处
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
杰网资源 Design By www.escxy.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
杰网资源 Design By www.escxy.com
暂无评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。





