Python开发_小说管理系统CLL版
小说管理系统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版相关推荐
- python编写程序的一般步骤-Python:开发_基本流程
Python开发--基本流程 开发: 开发运行在操作系统之上的软件 操作系统是运行在硬件上的另一种"软件" -编码 ASCII码 是最早美国用的标准信息交换码,把所有的字母的大小写 ...
- 石家庄python开发_石家庄PythonWeb全栈开发工程师修炼
[课程介绍] 课程以python语言为主导,进行web服务相关的全栈开发,包含后端服务器开发,部署,监控:web前端开发,前后端不分离模板模式开发,前后端分离,单独前端部署方案.课程涉及到的知识点有: ...
- 同花顺选股python开发_量化交易。最新版通用版同花顺客户端的Python3 API
THSTrader 量化交易.同花顺免费模拟炒股软件客户端的python API.(Python3) 为什么有这个项目 本来看到了这个easytrader这个项目,不过这个客户端已经过时了(被强制更新 ...
- java创建链表成绩管理系统_成绩管理系统 链表版
1.[代码][C/C++]代码 /********************************************************* *程序描述:学生成绩管理系统 *运行环境:Wind ...
- macbook pro python开发_年轻人第一台 Mac,来自一个开发者的 Macbook Pro 2019 16寸简评...
从工作开始,一直就想买个 Mac,但是一直没有买成,虽说有公司配发的 Mac(这也让我从 Macbook Pro 2015 13寸到 Macbook Pro 2017 15寸,到 Macbook Pr ...
- 微信公众号python开发_用python如何开发微信公共帐号?
我的第一个Python项目就是做的微信公众号机器人,按照当时我的思路来讲讲如何学习使用Python来开发微信公众号:大家伙收藏顺手点个赞呗. 微信公众号功能开发分为两大块:需要调用微信内部功能.不需要 ...
- 前端python开发_【2020Python修炼记】前端开发之 前端工具和HTML
[目录] 1.什么是前端 2.前端学习历程 3.HTTP协议 1.HTML简介 2.HTML文档结构 3.HTML标签分类(一) 4.HTML标签分类(二) 5.特殊符号 6.其他常用标签 一.前端开 ...
- 树莓派 python开发_树莓派4b开发之开发环境搭建
工作需要购置树莓派4b板子两块,现记录一下搭建开发环境的过程 一.树莓派系统镜像烧写 1.官网下载最新系统镜像,我下的文件名为:2020-08-20-raspios-buster-armhf.img ...
- 天猫精灵python开发_天猫精灵X1智能音箱使用感想
11.22音箱到手,等了刚好一个月. 一.测评语音交互功能 测试条件:正宗普通话. 1)问天气.气温:表现良好. 2)找手机功能:试了多次,每次都说手机号码格式不对.有那时间我自己找了. 3)小孩听故 ...
最新文章
- Linux用户查看系统有多少用户在登录
- 王恩东院士:AI计算是未来的核心生产力
- spring五:获取容器中对象信息
- 交管123缴费显示代理服务器异常,交管12123服务异常怎样办 交管12123 APP服务异常处理办法...
- c3p0 参数 模糊查询_MySQL模糊查询用法大全(正则、通配符、内置函数等)
- 各个会议期刊论文录取情况
- 设置熄屏_华为手机熄屏后还能这样操作?你不知道就挺遗憾的!
- 当Maven依赖插件位于
- conda安装tensorflow-gpu简洁版_win10 tensorflow2.2 安装注意事项
- android开发我的新浪微博客户端-登录页面UI篇(4.1)
- 假的!微信上询问商品会被封号 微信朋友圈公布1月份十大谣言
- 106 网络编程实战之基于socketserver实现多用户FTP服务器
- Atitit 提升稳定性 错误处理 全局错误捕获 1.2. 可以uncaughtException来全局捕获未捕获的Error, 使用uncaughtException	2 1.2.1. 使用 t
- 电阻、电容、电感、半导体器件的失效分析!
- 微信小程序实现定位(小白专用)
- python实现将整数转换为罗马数字
- 【现代密码学原理】——消息认证码(学习笔记)
- 【图片新闻】美海军的下一艘战舰与“祖姆沃尔特”DDG-1000极其相似
- java ps old gen_PSYoungGen /PSOldGen/PSPermGen区别
- 【模板】FHQ Treap
热门文章
- Java 使用EasyExcel读取Excel中多个sheet方法及示例代码
- 雅思7分的思考于回忆
- php java 哪个难,php和java的区别在哪里,那个更难一些
- 找回在foxmail中登录过的帐号密码
- Unity笔记——如何使怪物拥有警戒范围和攻击范围
- 计算机等级考试湖南在哪考,湖南省计算机等级考试都考哪些方面?
- [Processing学习]ControlP5-02-knob
- 零基础学PS平面设计基础有哪些?
- Java与模式学习笔记 —— 合成(Composite)模式
- 来了!中国高校人工智能专业综合排名榜单