用python写项目之图书管理系统

1、功能介绍:

(1)、添加新书:输入要添加的书名、存放的书架号、价格。

(2)、修改书架:输入要书名,然后对其修改书架号、价格

(3)、删除书架:输入书名,然后对应删除书名、书架号、价格

(4)、查询书架:展示所有的书籍

(5)、退出系统:退出系统

2、代码:

books={"倚天屠龙记":{"id":1,"price":100.00},
       "好吗好的":{"id":2,"price":200.00},
       "告别薇安":{"id":3,"price":300.00},
       "*的葬礼":{"id":4,"price":400.00}
       }
menu=["1、添加新书","2、修改书架","3、删除书架","4、查询书架","5、退出系统"]

# 系统启动+菜单展示
def start():
    print("欢迎使用图书馆管理系统")
    for i in menu:
        print("**%s**" % i)
    choose()

# 功能选择
def choose():
    choosenum = input("请选择一个功能:")
    # 添加新书
    if choosenum=="1":
        print("添加新书中....")
        while True:
            add_bookname = input("输入要添加的书名:")
            if ifexist(bookname=add_bookname):
                s=input("已经有这本书了!\n请输入0重新选择功能,输入1继续添加新书:")
                if s=="0":
                    return choose()
                elif s=="1":
                    continue
                else:
                    print("输入有误,已退出!")
                    exit()
            else:
                break
        while True:
            add_bookid = input("请输入要放得书架号:")
            if ifexist(bookid=add_bookid):
                s=input("这个书架已经被占用了!\n请输入0重新选择功能,输入1继续添加书架:")
                if s=="0":
                    return choose()
                elif s=="1":
                    continue
                else:
                    print("输入有误,已退出!")
                    exit()
            else:
                break
        add_bookprice=input("请输入书的价格:")
        add_bookidprice={"id":add_bookid,"price":add_bookprice}
        newbook(add_bookname,**add_bookidprice)
        showbooks(**books)
    # 修改书
    elif choosenum=="2":
        update_bookname=input("请输入要修改的书名:")
        updatebook(update_bookname)
    # 删除书架
    elif choosenum=="3":
        del_bookname = input("请选择要删除的书名:")
        deletebook(del_bookname)
    # 查询书架
    elif choosenum=="4":
        showbooks(**books)
    # 退出系统
    elif choosenum=="5":
        print("退出系统!")
        exit()
    else:
        if isinstance(choosenum, str):
            raise TypeError("输入参数有误!")
        else:
            exit()

# 修改书架
def updatebook(bookname):
    if ifexist(bookname=bookname):
        num=input("你想修改什么呢?输入1修改书架号,输入2修改价格,输入其他退出:")
        if num=="1":
            while True:
                updatebook_id=input("你想放几号书架?:")
                if ifexist(bookid=updatebook_id):
                    print("这个书架已经满了!")
                    continue
                else:
                    books[bookname]["id"]=int(updatebook_id)
                    print("成功修改书架号!")
                    showbooks(**books)
        elif num=="2":
            updatebook_price=float(input("输入新的价格:"))
            books[bookname]["price"]=updatebook_price
            print("成功修改价格!")
            showbooks(**books)
        else:
            exit()
#删除书架
def deletebook(bookname):
    if ifexist(bookname=bookname):
        books.pop(bookname)
        print("已删除%s" % bookname)
        return choose()
    else:
        print("图书馆没有这本书!")
        return choose()

# 新书存入图书馆
def newbook(bookname,**kwargs):
    books[bookname]=kwargs
    print("添加成功了!")

# 展示图书馆的所有的图书
def showbooks(**kwargs):
    for i in kwargs:
        print("name=%s,id=%d,price=%.2f" % (i,int(books[i]["id"]),float(books[i]["price"])))
    return choose()

# 判断书名或者id是否存在于图书馆系统中
def ifexist(bookname='',bookid=''):
    if bookname != '':
        if bookname in books:
            return True
        else:
            return False
    else:
        for i in books:
            if int(bookid)==books[i]['id']:
                return True
        return False

start()
上一篇:02、JS高阶函数、v-model表单的双向绑定


下一篇:专业3 原生数据分页