栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python基础:17.图书管理系统

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python基础:17.图书管理系统

# -*- encoding: utf-8 -*-
"""
@Author  : cy1
@File    : 17.book_manager.py
@Time    : 2022/7/26 15:06
@Software: PyCharm
"""

'''
图书管理系统

1.借书
2.还书
3.查询(书名/作者)
4.查看所有
5.退出

数据结构
[{'id':'1',书名':'三国演义','作者':'吴承恩','价格':'35','数量':'12'},{},{}]

查询-->输入书名/作者-->分别查询作者列表和书名列表
借书-->输入书名-->查询结果-->确认序号-->确认数量-->完成借阅
还书-->输入书名-->查询结果-->确认序号-->确认数量-->完成还书
查看所有-->打印所有全部书籍
退出-->退出系统

'''


def search():
    search_name = input("输入书名或作者:")
    result = []
    for i in book_list:
        if search_name in i.values():
            print(i)
            result.append(i)
    if result == []:
        print("没有查到")
    return result


def borrow():
    result = search()
    if result:
        id_list = [i['id'] for i in result]
        borrow_name = str(input("输入序号进行借阅:"))
        if borrow_name in id_list:
            for index, i in enumerate(book_list):
                if i['id'] == borrow_name:
                    if book_list[index]['数量'] == 0:
                        print("数量不足")
                        return
                    else:
                        book_list[index]['数量'] -= 1
            find_all()
            print('借阅完成')
        else:
            print('该序号不在查询结果中')
    else:
        find_all()


def repay():
    result = search()
    if result:
        id_list = [i['id'] for i in result]
        repay_name = str(input("输入序号进行还书:"))
        if repay_name in id_list:
            for index, i in enumerate(book_list):
                if i['id'] == repay_name:
                    # input()借还数量
                    book_list[index]['数量'] += 1
            find_all()
            print('还书完成')
        else:
            print('该序号不在查询结果中')
    else:
        find_all()


def find_all():
    for i in book_list:
        print(i)


class over_loop(Exception): pass


def quit_app():
    key = str(input("是否确认退出? Y/N:"))
    if key == 'Y' or key == 'y' or key=='':
        raise over_loop()


func_list = {
    '1': search,
    '2': borrow,
    '3': repay,
    '4': find_all,
    '5': quit_app,
}
book_list = [
    {'id': '1', '书名': '三国演义', '作者': '吴承恩', '价格': '35', '数量': 12},
    {'id': '2', '书名': '西游记', '作者': '罗贯中', '价格': '35', '数量': 12},
    {'id': '3', '书名': '红楼梦', '作者': '施耐庵', '价格': '35', '数量': 12},
    {'id': '4', '书名': '水浒传', '作者': '曹雪芹', '价格': '35', '数量': 12},
    {'id': '5', '书名': '挪威的森林', '作者': '马尔克斯', '价格': '35', '数量': 12},
    {'id': '6', '书名': '红楼梦', '作者': '曹雪芹', '价格': '35', '数量': 12},
]
flag = True
while flag:
    print(''' ————图书管理系统————
    1.查询(书名/作者)
    2.借书
    3.还书
    4.查看所有
    5.退出''')
    func_type = str(input("请选择你要的功能:"))
    try:
        if func_type in func_list.keys():
            func_list[func_type]()
        print(" ")
    except over_loop:
        print('程序运行结束 祝您生活愉快')
        break

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1026281.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号