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<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("您的输入有误,请重新输入")

还可以添加一个登录与注册系统:点击此处

以上是 python代码实现图书管理系统 的全部内容, 来源链接: utcz.com/z/311643.html

回到顶部