Python开发_小说管理系统CLL版

本文介绍了小说管理系统CLI版的基本功能,包括书籍录入、查询、修改和删除,以及如何通过命令行界面操作来管理网络文学作品。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

小说管理系统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":
            break
        else:
            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}"] = key2
    print()
    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] = key2
    elif 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("请输入正确操作")


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值