这个代码中需要用到的全部都是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、如果用户没有输入内容,返回字典中原有的值
就这吧