小说管理系统CLI版

项目背景

​ 随着网络文学的发展,读书不仅仅是在纸质文学上,大量的网络文学充斥着人们的视野。网络上越来越多的平台出现,有的小说只能在特定的平台展现。为了更好的记录小说,提升对小说各种信息的有效管理(从各种小说平台得到小说:暂未开发),小说管理系统的需求也会随着增加。主要功能:书籍的录入、查询、修改以及退出功能。


需求分析

1.系统描述

​ 系统版本1.0,主要功能为小说基本信息的记录、编辑、查找、删除功能

2.功能结构

​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tmJGZiWv-1610120126228)(F:\study_project\小说管理系统\3.jpg)]

3.主要功能描述

3.1 主界面

------小说管理系统CLI版 v1.0------
1. 新增小说信息
2. 显示所有小说
3. 搜索小说0.退出系统
--------------------------------
请输入您的操作(序号):

3.2 新增小说信息

您的操作为:新增小说信息
------新增小说信息------
请输出小说名:万族之劫
请输入作者:老鹰吃小鸡
请输入小说类型:都市
请输入小说字数(万字):750.4
【添加《万族之劫》成功】

3.3 显示全部小说信息

您的操作为:显示所有小说
------显示所有小说------
小说名         作者          类型          字数(w)
万族之劫     老鹰吃小鸡        都市          750.4

如果没有任何小说,则显示如下信息

您的操作为:显示所有小说
------显示所有小说------
【当前没有任何小说被添加】

3.4 查询小说信息

用户如果录入为3,则提示用户输入要搜索的小说名字,并根据小说名进行搜索

您的操作为:搜索小说
------搜索小说------
请输入要搜索的书名:万族之劫
小说名         作者          类型          字数(w)
万族之劫     老鹰吃小鸡        都市          750.4
--------------------
请输入要执行的操作[1]修改  [2]删除   [0]返回菜单

如果没有搜索到,则显示

------搜索小说------
请输入要搜索的书名:万族之劫
没有搜索到 《万族之劫》

3.5 修改小说信息

搜索结果显示后,根据提示输入1,进入小说修改环节

如果没有录入任何信息,则默认保留原有信息。

因为查询的小说名字可能有重复 所以需要选择序号

请输入要执行的操作[1]修改   [2]删除   [0]返回菜单1
请输入要修改的序号(从0开始):0
小说名(回车不修改):
作者(回车不修改):
类型(回车不修改):
字数(回车不修改):800
【修改信息成功!】

3.6删除小说信息

搜索结果显示后,根据提示输入2,进入小说删除环节

因为查询的小说名字可能有重复 所以需要选择序号

请输入要执行的操作[1]修改   [2]删除   [0]返回菜单2
请输入要删除的序号(从0开始):0
【删除小说成功!】

不足与扩展

1.爬取各平台资源,进行补充

2.连接后台数据库

3.用户图形化界面

4.本系统的细节补充

# @Time:2020/12/30 21:43
# @Author:李 祥
# @File:main.py
# @Software:PyCharm
from function import *
from pygame.locals import *def run():while True:print()print("------小说管理系统CLI版 v1.0------")print("1. 新增小说信息")print("2. 显示所有小说")print("3. 搜索小说")print()print("0.退出系统")print("--------------------------------")userNum = input("请输入您的操作(序号):")if userNum == "1":newNovel()elif userNum == "2":showNovel()elif userNum == "3":selectNovel()elif userNum == "0":breakelse:print("输入有误,请重新输入!")if __name__ == '__main__':run()
# @Time:2020/12/30 21:53
# @Author:李 祥
# @File:function.py
# @Software:PyCharm
# 小说信息 方便后续增加
keys = ["小说名", "作者", "类型", "字数"]
# 存储数据
list1 = []
# 临时存储查找到的小说
list2 = []# 测试数据
# list1 = [{'小说名': '万族', '作者': '老鹰', '类型': '玄幻', '字数': '750'}]def newNovel():print("您的操作为:新增小说信息")print("------新增小说信息------".center(30, "-"))dict1 = {}for key in keys:key2 = input(f"请输出{key}:")dict1[f"{key}"] = key2print()list1.append(dict1)print(f"【添加《{dict1[keys[0]]}》成功】")def showNovel():print("您的操作为:显示所有小说")print("------显示所有小说------")for key in keys:print(f"{key}\t\t", end="")print()if list1:for dict in list1:for value in dict.values():print(f"{value}\t\t", end="")print()else:print("【当前没有任何小说被添加】")def selectNovel():print("您的操作为:搜索小说")print("------搜索小说------")novelName = input("请输入要搜索的书名:")for i in keys:print(f"{i}\t\t", end="")print()for dict in list1:if dict["小说名"] == novelName:list2.append(dict)for value in dict.values():print(f"{value}\t\t", end="")print()if len(list2) == 0:print(f"没有搜索到《{novelName}》")print("--------------------")userNum = input("请输入要执行的操作[1]修改 [2]删除   [0]返回菜单")if userNum == "1":num = int(input("请输入要修改的序号(从0开始):"))for i in keys:key2 = input(f"请输出{i}(回车不修改):")  or list2[num][i]# False or 值 ,返回:值for dict in list1:if dict == list2[num]:dict[i] = key2elif userNum == "2":num = int(input("请输入要删除的序号(从0开始):"))for dict in list1:if dict == list2[num]:list1.remove(dict)print("【删除小说成功!】")elif userNum == "0":return print("11")else:print("请输入正确操作")

Python开发_小说管理系统CLL版相关推荐

  1. python编写程序的一般步骤-Python:开发_基本流程

    Python开发--基本流程 开发: 开发运行在操作系统之上的软件 操作系统是运行在硬件上的另一种"软件" -编码 ASCII码 是最早美国用的标准信息交换码,把所有的字母的大小写 ...

  2. 石家庄python开发_石家庄PythonWeb全栈开发工程师修炼

    [课程介绍] 课程以python语言为主导,进行web服务相关的全栈开发,包含后端服务器开发,部署,监控:web前端开发,前后端不分离模板模式开发,前后端分离,单独前端部署方案.课程涉及到的知识点有: ...

  3. 同花顺选股python开发_量化交易。最新版通用版同花顺客户端的Python3 API

    THSTrader 量化交易.同花顺免费模拟炒股软件客户端的python API.(Python3) 为什么有这个项目 本来看到了这个easytrader这个项目,不过这个客户端已经过时了(被强制更新 ...

  4. java创建链表成绩管理系统_成绩管理系统 链表版

    1.[代码][C/C++]代码 /********************************************************* *程序描述:学生成绩管理系统 *运行环境:Wind ...

  5. macbook pro python开发_年轻人第一台 Mac,来自一个开发者的 Macbook Pro 2019 16寸简评...

    从工作开始,一直就想买个 Mac,但是一直没有买成,虽说有公司配发的 Mac(这也让我从 Macbook Pro 2015 13寸到 Macbook Pro 2017 15寸,到 Macbook Pr ...

  6. 微信公众号python开发_用python如何开发微信公共帐号?

    我的第一个Python项目就是做的微信公众号机器人,按照当时我的思路来讲讲如何学习使用Python来开发微信公众号:大家伙收藏顺手点个赞呗. 微信公众号功能开发分为两大块:需要调用微信内部功能.不需要 ...

  7. 前端python开发_【2020Python修炼记】前端开发之 前端工具和HTML

    [目录] 1.什么是前端 2.前端学习历程 3.HTTP协议 1.HTML简介 2.HTML文档结构 3.HTML标签分类(一) 4.HTML标签分类(二) 5.特殊符号 6.其他常用标签 一.前端开 ...

  8. 树莓派 python开发_树莓派4b开发之开发环境搭建

    工作需要购置树莓派4b板子两块,现记录一下搭建开发环境的过程 一.树莓派系统镜像烧写 1.官网下载最新系统镜像,我下的文件名为:2020-08-20-raspios-buster-armhf.img ...

  9. 天猫精灵python开发_天猫精灵X1智能音箱使用感想

    11.22音箱到手,等了刚好一个月. 一.测评语音交互功能 测试条件:正宗普通话. 1)问天气.气温:表现良好. 2)找手机功能:试了多次,每次都说手机号码格式不对.有那时间我自己找了. 3)小孩听故 ...

最新文章

  1. Linux用户查看系统有多少用户在登录
  2. 王恩东院士:AI计算是未来的核心生产力
  3. spring五:获取容器中对象信息
  4. 交管123缴费显示代理服务器异常,交管12123服务异常怎样办 交管12123 APP服务异常处理办法...
  5. c3p0 参数 模糊查询_MySQL模糊查询用法大全(正则、通配符、内置函数等)
  6. 各个会议期刊论文录取情况
  7. 设置熄屏_华为手机熄屏后还能这样操作?你不知道就挺遗憾的!
  8. 当Maven依赖插件位于
  9. conda安装tensorflow-gpu简洁版_win10 tensorflow2.2 安装注意事项
  10. android开发我的新浪微博客户端-登录页面UI篇(4.1)
  11. 假的!微信上询问商品会被封号 微信朋友圈公布1月份十大谣言
  12. 106 网络编程实战之基于socketserver实现多用户FTP服务器
  13. Atitit 提升稳定性 错误处理 全局错误捕获 1.2. 可以uncaughtException来全局捕获未捕获的Error, 使用uncaughtException 2 1.2.1. 使用 t
  14. 电阻、电容、电感、半导体器件的失效分析!
  15. 微信小程序实现定位(小白专用)
  16. python实现将整数转换为罗马数字
  17. 【现代密码学原理】——消息认证码(学习笔记)
  18. 【图片新闻】美海军的下一艘战舰与“祖姆沃尔特”DDG-1000极其相似
  19. java ps old gen_PSYoungGen /PSOldGen/PSPermGen区别
  20. 【模板】FHQ Treap

热门文章

  1. Java 使用EasyExcel读取Excel中多个sheet方法及示例代码
  2. 雅思7分的思考于回忆
  3. php java 哪个难,php和java的区别在哪里,那个更难一些
  4. 找回在foxmail中登录过的帐号密码
  5. Unity笔记——如何使怪物拥有警戒范围和攻击范围
  6. 计算机等级考试湖南在哪考,湖南省计算机等级考试都考哪些方面?
  7. [Processing学习]ControlP5-02-knob
  8. 零基础学PS平面设计基础有哪些?
  9. Java与模式学习笔记 —— 合成(Composite)模式
  10. 来了!中国高校人工智能专业综合排名榜单