本文執行個體為大家分享了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("您的輸入有誤,請重新輸入")
還可以添加一個登入與注冊系統:點選此處
以上就是本文的全部内容,希望對大家的學習有所幫助,也希望大家多多支援随便開發網。