用python语言实现简易版图书管理系统

# 定义图书信息库
library = [{"bookname": "理想国", "author": "柏拉图", "peice": 40, "number": 8},
           {"bookname": "大教学论", "author": "夸美纽斯", "peice": 50, "number": 7},
           {"bookname": "普通教育学", "author": "赫尔巴特", "peice": 45, "number": 6},
           {"bookname": "爱弥儿", "author": "卢梭", "peice": 55, "number": 3},
           {"bookname": "教育论", "author": "斯宾塞", "peice": 35, "number": 5}]


def main():
    while True:
        # 主界面搭建
        print("欢迎进入图书管理系统")
        option = login(3)
        if option:
            option = input("请选择您需要的操作")
            if option == "1":
                print("借书")
                borrow_book()
                print("已返回主界面")
                continue
            elif option == "2":
                print("还书")
                return_book()
                continue
            elif option == "3":
                print("查询(书名/作者)")
                locate_book()
                print("已返回主界面")
                continue
            elif option == "4":
                print("查看所有")
                look_all()
                print("已返回主界面")
                continue
            elif option == "5":
                print("退出")
                break
            else:
                print("输入错误,请重新输入")
                continue
        else:
            print("没有密码和学号,无法进入图书管理系统")
            break


# 进入
def login(n):
    count = 0
    while True:
        init_account = "22031266"
        init_password = "666666"
        count += 1
        if count <= n:
            account = input("请输入学号:")
            password = input("请输入密码:")
            if account == init_account and password == init_password:
                print("登陆成功")
                return True
            else:
                print("密码或账号错误请重新登陆")
        else:
            print("输入次数过多,强制退回主界面")
            return False


# 借书
def borrow_book():
    while True:
        bookname = input("请输入借书的书名")
        for x in library:

            if x["bookname"] == bookname:
                number = int(x["number"])
                # 判断该书的数量,若有库存则进行借阅
                if number > 0:

                    # 一次借一本
                    number -= 1
                    x["number"] = str(number)
                    print("借书成功")
                    break
                else:
                    print(f"{bookname}的数量为{x["number"]}")
                    break
            else:
                continue
        else:
            print("没有此书")
        # 选择是否继续进行借阅
        option = input("是否继续借书")
        if option == "y":
            continue
        else:
            print("exit")
            break


# 还书
def return_book():
    while True:
        bookname = input("请输入还书的书名")
        for x in library:
            if x["bookname"] == bookname:
                number = int(x["number"])
                number += 1
                x["number"] = str(number)
                print("还书成功")
                break
            else:
                continue
        else:
            print("没有此书")
        option = input("是否继续还书")
        if option == "y":
            continue
        else:
            print("exit")
            break


# 查看书
def locate_book():
    while True:
        # 按照书名或作者名进行查找
        in_infos = input("请输入书名|作者")
        for in_info in library:
            if in_info["bookname"] == in_infos or in_info["author"] == in_infos:
                print("查找成功,详细信息如下:")
                print(in_info)
                break
        else:
            print("没有找到相关信息")
        option = input("是否继续查找")
        if option == "y":
            continue
        else:
            break


# 查看所有
def look_all():
    for x in library:
        print(x)


if __name__ == '__main__':
    main()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值