Python实战:百行代码制作一个简易的图书管理系统

时光毁灭记忆、已成空白 提交于 2020-01-29 15:17:58

之前小组合作用c语言制作了一个图书管理系统,使用了400多行代码,现在使用python改做了一个100行左右的代码,比较界面一般,新手上路,多多关照。

import os,pickle
lib={}
filename='book.txt'
class Library():
    def _init_(self,id,bookName,author,isbn,chuBan,chuBanAge,bookPrice):
        self.id=id  
        self.bookName=bookName
        self.author=author
        self.isbn=isbn
        self.chuBan=chuBan
        self.chuBanAge=chuBanAge
        self.bookPrice=bookPrice
    def show_menu(self):
        print('编号:{0} 书名:{1} 作者;{2} isbn码:{3} 出版社:{4} 出版时间:{5} 价格:{6}'
              .format(self,id,bookName,author,isbn,chuBan,chuBanAge,bookPrice))
class Go():
    def __init__(self,version):
        self.version = version
    def show(self):
        print('='*50)
        print('欢迎使用图书管理系统:%s:'%self.version)
        print('='*50)
        print('1.添加图书信息')
        print('2.查询图书信息')
        print('3.修改图书信息')
        print('4.删除图书信息')
        print('5.展示图书信息')
        print('6.退出系统')
        print('='*50)
    def add(self,library):
        lib[library.bookName]=library
        print('图书信息添加成功')
    def find(self,bookName):
        if bookName in lib:
            print("此书的相关信息如下;")
            lib[bookName],show_menu
        else:
            print("查无此书")
    def delt(self,bookName):
        if bookName in lib:
           lib.pop(bookName)
           print('删除书籍信息成功')
        else:
            print('查无此书')
    def update(self,bookName):
    if bookName in lib:
        new_id=input('请输入修改后的书籍编号:')
        new_bookName=input('请输入修改后的书籍书名:')
        new_author=input('请输入修改后的作者:')
        new_isbn=input('请输入修改后的ibsn码:')
        new_author=input('请输入修改后的作者:')
        new_chuBan=input('请输入修改后的出版社:')
        new_bookPrice=input('请输入修改后的书籍价格:')
        lib.pop(name)
        lib[new_bookName] = Library(new_id,new_bookName,new_author,new_isbn,new_chuBan,new_chuBanAge,new_bookPrice)
        print('修改后的图书信息是:')
        lib[new_name].show_menu()
    else:
        print('查无此书')
def exitlib():
    print('谢谢使用图书管理系统')
    self.writeDate(filename)
    exit()
def showlib():
    if len(lib)>0:
        print('所有图书信息如下:')
        for liblist in lib.values():
            liblist.show_menu()
    else: 
        print('没有图书信息')
def writeData(self,filename):
    f = open(filename,mode='wb')
    pickle.dump(lib,f)
    f.close()
def loadData(self,filename):
    if os.path.exists(filename):
        f = open(filename,mode='rb')
        global lib
        lib = pickle.load(f)
        f.close()

go = Go(‘耗子改进版’)
go.loadData(filename)
while True:
go.show()
num = input(‘请输入你选择的功能1-6:’)
if num == ‘1’:
id=input(‘请输入书籍编号:’)
bookName=input(‘请输入书籍书名:’)
author=input(‘请输入作者:’)
isbn=input(‘请输入ibsn码:’)
chuBan=input(‘请输入出版社:’)
chuBanAge=input(‘请输入出版时间:’)
bookPrice=input(‘请输入书籍价格:’)
library = Library(id,bookName,author,isbn,chuBan,chuBanAge,bookPrice)
go.add(library)
elif num == ‘2’:
bookName = input(‘请输入要查询的书名:’)
go.find(bookName)
elif num == ‘3’:
bookName = input(‘请输入要修改的书名:’)
go.update(bookName)
elif num == ‘4’:
bookName = input(‘请输入要删除的书名:’)
go.delt(bookName)
elif num == ‘5’:
go.showlib()
elif num == ‘6’:
go.exitlib()
else:
print(‘输入有误,请重新输入’)
效果图如下:
在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!