python小练习-一个小的图书管理系统

这个代码中需要用到的全部都是python基础的知识:循环、变量、判断、函数、break、字典、列表、字符串

 

代码分为两部分:

book_main.py:主程序,负责启动系统

book_tools.py:工具程序,负责系统中各个功能的实现

 

book_main.py

"""
图书管理系统主程序:
用于实现启动图书馆里系统,提供欢迎信息以及操作提示信息
1、新增
2、显示所有
3、查询
0、退出
其他输入内容显示输入错误
"""
from book_tools import *
while True:
    # TODO 显示功能菜单
    show_menu()
    action = input('请选择希望执行的操作:')
    print('您选择的操作是【%s】' % action)
    if action in ['1', '2', '3']:
        if action == '1':
            # 新增
            add_book()
        elif action == '2':
            # 显示全部
            show_book()
        else:
            # 查询书籍
            search_book()
    elif action == '0':
        print('欢迎再次使用图书管理系统,撒由那拉~~~')
        break
    else:
        print('您输入的不正确,请重新选择')

 

book_tools.py

# 记录所有书籍信息
book_list = list()


def show_menu():
    """显示菜单"""
    print("*" * 20)
    print('撒浪嘿呦~~~\n欢迎使用图书管理系统 ')
    print("""1、新建书籍\n2、显示全部\n3、查询书籍\n\n0、退出系统""")
    print("*" * 20)
    return


def add_book():
    """新增书籍信息"""
    print('=' * 20)
    print('新增书籍')
    # 1、提示用户输入名片的详细信息
    name = input('请输入书籍名称:')
    pub_date = input('请输入书籍出版日期:')
    comment = input('请输入书籍简介:')
    # 2、使用用户输入的信息建立一个书籍字典
    book_dict = {"name": name,
                 "pub_date": pub_date,
                 "comment": comment
                 }
    # 3、将书籍字典添加到列表中
    book_list.append(book_dict)

    print(book_list)
    # 4、提示数据添加成功
    print('添加 %s 成功' % name)


def show_book():
    """显示所有书籍"""
    print('=' * 20)
    print('显示书籍')
    # 判断是否存在书籍
    if len(book_list) > 0:
        # 打印表头
        for name in ['名称', '日期 ', '概述']:
            print(name, end='\t\t')
        print()
        # 打印分割线
        print('-' * 40)
        for book in book_list:
            for value in book.values():
                # 获取字典中所有的值,遍历输出
                print(value, end='\t\t\t')
            print()
    else:
        print('暂无任何书籍信息,请先完成输入')


def search_book():
    """搜索书籍"""
    print('=' * 20)
    print('搜索书籍')
    # 1、提示用户输入要搜索的姓名
    book_name = input('请输入需要搜索的书籍名称:')
    # 2、遍历名片列表,查询要搜索的姓名,如果没有找到,给出提示信息
    # 先判断list中是否有数据,没有的话就直接打印
    if len(book_list) > 0:
        for book in book_list:
            if book_name == book['name']:
                # 打印表头
                for name in ['名称', '日期 ', '概述']:
                    print(name, end='\t\t')
                print()
                # 打印分割线
                print('-' * 40)
                for value in book.values():
                    # 获取字典中所有的值,遍历输出
                    print(value, end='\t\t\t')
                print()
                # TODO 针对找到的名片记录执行删除和修改的操作
                application(book)
                break
            else:
                print('没有%s的相关信息' % book_name)
    else:
        print('没有%s的相关信息' % book_name)


def application(book_info):
    """处理查找到的书籍信息
    :param book_info: 书籍的信息,数据类型为字典
    """
    action = input('请输入对书籍的操作'
                   '1:修改\t2:删除\t0:返回上一级')
    if action == '1':
        book_info['name'] = input_book_info(book_info['name'], '修改姓名:')
        book_info['pub_date'] = input_book_info(book_info['pub_date'], '修改出版日期:')
        book_info['comment'] = input_book_info(book_info['comment'], '修改概述:')
    elif action == '2':
        book_list.remove(book_info)
        print('已删除%s' % book_info['name'])


def input_book_info(book_value, tip_message):
    """完成数据修改内容
    :param book_value: 书籍原有的信息,外部传入
    :param tip_message: 输入时的提示信息
    :return:
    """
    # 1、提示用户输入内容
    value = input(tip_message)
    # 2、针对用户的输入进行判断,如果用户输入了内容,直接返回结果
    if len(value) > 0:
        return value
    else:
        return book_value
    # 3、如果用户没有输入内容,返回字典中原有的值

 

就这吧

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值