Python版——增删改查

番号管理

具体实现
(1)番库的实现使用列表,列表里的一个元素就为一部番。
(2)每一部番的信息使用字典保存,即字典为列表元素。
(3)“增”实现:输入增加番名,先遍历,若番库没有这个番就继续录入后续信息;若番库有这个番,就提醒。
(4)“删”实现:输入删除番名,先遍历,若番库有这个番就删除;若番库没这个番,就提醒。
(5)“改”实现:输入更新番名,遍历后若有这个番,就提示可以更新番信息中的任何一个信息;若番库没有这个番,就提醒。
(6)“查”实现:根据提示输入查询信息,可以通过五个番的信息中的任何一个查询,会给出所有含有这些信息的番。也可以查看番库里所有的番。
(7)退出系统。

可改进
程序写得很简单,没有import任何模块包,即没有连接数据库或写入CSV文件。有一定的容错度(嘿嘿,适合小白用

欢迎提出意见,可探讨~

源程序

a={"name":"CLANNAD","date":"2007","score":"9.8","type":"校园","country":"日本"}
b={"name":"文豪野犬第三季","date":"2019","score":"9.8","type":"战斗","country":"日本"}
c={"name":"从零开始的异世界生活","date":"2016","score":"9.2","type":"奇幻","country":"日本"}
d={"name":"地缚少年花子君","date":"2020","score":"9.6","type":"搞笑","country":"日本"}
fs=[a,b,c,d]      #番库

#“增”
def increase():
    n=input("菜单-->增添新番-->请输入该番的名字:")
    i=0
    a=0
    while(i<len(fs)):
        if fs[i]["name"]==n:
            a=1
            break
        i+=1
    if a==1:
        print("菜单-->增添新番-->结果-->介个番已存在嗷~( ̄▽ ̄)~")
    else:
        d=input("菜单-->增添新番-->请输入该番的发行年份:")
        s=input("菜单-->增添新番-->请输入该番的评分:")
        t=input("菜单-->增添新番-->请输入该番的类型:")
        c=input("菜单-->增添新番-->请输入该番的原产国:")
        fan={"name":n,"date":d,"score":s,"type":t,"country":c}
        fs.append(fan)
        print("菜单-->增添新番-->结果-->番名:",n," 录入完成!(~o ̄▽ ̄)~o ~")

#“删”
def delete():
    n=input("菜单-->删除旧番-->请输入该番的名字:")
    i=0
    while(i<len(fs)):
        if fs[i]["name"]==n:
            fs.pop(i)      #删除列表里这一项
            print("菜单-->删除旧番-->结果-->番名:",n," 删除完成!(~o ̄▽ ̄)~o ~")
            break      #跳出循环
        i+=1
        if i==len(fs):      #i的指向超出列表范围,即没有搜索到
            print("菜单-->删除旧番-->结果-->没有搜到要删除的旧番嗷~T_T")

#“改”
def update():
    n=input("菜单-->番号更新-->请输入该番的名字:")
    i=0
    while (i<len(fs)):
        if fs[i]["name"]==n:
            print("菜单-->番号更新-->可改动以下项目:")
            print("^^^^^^^^^^1.名字^^^^^^^^^^^^")
            print("^^^^^^^^^^2.发行年份^^^^^^^^")
            print("^^^^^^^^^^3.评分^^^^^^^^^^^^")
            print("^^^^^^^^^^4.类型^^^^^^^^^^^^")
            print("^^^^^^^^^^5.原产国^^^^^^^^^^")
            o=input("菜单-->番号更新-->请选择:")    #输入整型
            if o=='1':      #改名字
                n=input("菜单-->番号更新-->请输入该番更改后的名字:")
                fs[i]["name"]=n
                print("菜单-->番号更新-->结果-->该番号的名字更新完成!(~o ̄▽ ̄)~o ~")
            elif o=='2':      #改发行日期
                d=input("菜单-->番号更新-->请输入该番更改后的发行年份:")
                fs[i]["date"]=d
                print("菜单-->番号更新-->结果-->该番号的发行年份更新完成!(~o ̄▽ ̄)~o ~")
            elif o=='3':
                s=input("菜单-->番号更新-->请输入该番更改后的评分:")
                fs[i]["score"]=s
                print("菜单-->番号更新-->结果-->该番号的评分更新完成!(~o ̄▽ ̄)~o ~")
            elif o=='4':
                t=input("菜单-->番号更新-->请输入该番更改后的类型:")
                fs[i]["type"]=t
                print("菜单-->番号更新-->结果-->该番号的类型更新完成!(~o ̄▽ ̄)~o ~")
            elif o=='5':
                c=input("菜单-->番号更新-->请输入该番更改后的原产国:")
                fs[i]["country"]=c
                print("菜单-->番号更新-->结果-->该番号的原产国更新完成!(~o ̄▽ ̄)~o ~")
            else:      #输入的字符串非1~5
                print("菜单-->番号更新-->结果-->输入有误导致更新出错啦~ T_T")
            break      #跳出循环
        i+=1
        if i==len(fs):
            print("菜单-->番号更新-->结果-->没有搜到要更新的番嗷~T_T")

#“查”
def search():
    print("菜单-->查找番号-->可通过查找以下查找:")
    print("^^^^^^^^^^1.名字^^^^^^^^^^^^")
    print("^^^^^^^^^^2.发行年份^^^^^^^^")
    print("^^^^^^^^^^3.评分^^^^^^^^^^^^")
    print("^^^^^^^^^^4.类型^^^^^^^^^^^^")
    print("^^^^^^^^^^5.原产国^^^^^^^^^^")
    print("^^^^^^^^^^6.所有番^^^^^^^^^^")
    o=input("菜单-->查找番号-->请选择:")      #输入整型
    if o=='1':
        n=input("菜单-->查找番号-->请输入番的名字:")
        i=0
        a=0
        while(i<len(fs)):
            if fs[i]["name"]==n:
                a+=1
                print("菜单-->查找番号-->结果-->名字:",fs[i]["name"],"   发行年份:",fs[i]["date"],"   评分:",fs[i]["score"],"   类型:",fs[i]["type"],"   原产国:",fs[i]["country"],"(~o ̄▽ ̄)~o ~")
            i+=1
        if a == 0:
                print("菜单-->查找番号-->结果-->什么都没都搜到啊~∑( ° △ °|||)︴")
    elif o=='2':
        d = input("菜单-->查找番号-->请输入番的发行年份:")
        i = 0
        a=0
        while (i < len(fs)):
            if fs[i]["date"] == d:
                a+=1
                print("菜单-->查找番号-->结果-->名字:", fs[i]["name"], "   发行年份:", fs[i]["date"], "   评分:", fs[i]["score"], "   类型:",fs[i]["type"], "   原产国:", fs[i]["country"],"(~o ̄▽ ̄)~o ~")
            i += 1
        if a == 0:
                print("菜单-->查找番号-->结果-->什么都没都搜到啊~∑( ° △ °|||)︴")
    elif o == '3':
        s = input("菜单-->查找番号-->请输入番的评分:")
        i = 0
        a=0
        while (i < len(fs)):
            if fs[i]["score"] == s:
                a+=1
                print("菜单-->查找番号-->结果-->名字:", fs[i]["name"], "   发行年份:", fs[i]["date"], "   评分:", fs[i]["score"], "   类型:",fs[i]["type"], "   原产国:", fs[i]["country"],"(~o ̄▽ ̄)~o ~")
            i += 1
        if a == 0:
                print("菜单-->查找番号-->结果-->什么都没都搜到啊~∑( ° △ °|||)︴")
    elif o == '4':
        t = input("菜单-->查找番号-->请输入番的类型:")
        i = 0
        a=0
        while (i < len(fs)):
            if fs[i]["type"] == t:
                a+=1
                print("菜单-->查找番号-->结果-->名字:", fs[i]["name"], "   发行年份:", fs[i]["date"], "   评分:", fs[i]["score"], "   类型:",fs[i]["type"], "   原产国:", fs[i]["country"],"(~o ̄▽ ̄)~o ~")
            i += 1
        if a == 0:
                print("菜单-->查找番号-->结果-->什么都没都搜到啊~∑( ° △ °|||)︴")
    elif o == '5':
        c = input("菜单-->查找番号-->请输入番的原产国:")
        i = 0
        a=0
        while (i < len(fs)):
            if fs[i]["country"] == c:
                a+=1
                print("菜单-->查找番号-->结果-->名字:", fs[i]["name"], "   发行年份:", fs[i]["date"], "   评分:", fs[i]["score"], "   类型:",fs[i]["type"], "   原产国:", fs[i]["country"],"(~o ̄▽ ̄)~o ~")
            i += 1
        if a == 0:
                print("菜单-->查找番号-->结果-->什么都没都搜到啊~∑( ° △ °|||)︴")
    elif o == '6':
        i = 0
        while (i < len(fs)):
            print("菜单-->查找番号-->结果-->名字:", fs[i]["name"], "   发行年份:", fs[i]["date"], "   评分:", fs[i]["score"], "   类型:",fs[i]["type"], "   原产国:", fs[i]["country"],"(~o ̄▽ ̄)~o ~")
            i += 1
    else:
        print("菜单-->查找番号-->结果-->输入有误导致查找出错啦~ T_T")

def main():
    print("^^^^^^^^^哔哩哔哩 (゜-゜)つロ 干杯~-bilibili^^^^^^^^^")
    print("^^^^^^^^^^^^^^^^^^^^番号管理系统^^^^^^^^^^^^^^^^^^^^")
    print("^^^^^^^^^^^^^^^^^^^^^^^^菜单^^^^^^^^^^^^^^^^^^^^^^^")
    print("^^^^^^^^^^^^^^^^^^^^^1.增添新番^^^^^^^^^^^^^^^^^^^^^")
    print("^^^^^^^^^^^^^^^^^^^^^2.删除旧番^^^^^^^^^^^^^^^^^^^^^")
    print("^^^^^^^^^^^^^^^^^^^^^3.番号更新^^^^^^^^^^^^^^^^^^^^^")
    print("^^^^^^^^^^^^^^^^^^^^^4.查找番号^^^^^^^^^^^^^^^^^^^^^")
    print("^^^^^^^^^^^^^^^^^^^^^5.退出系统^^^^^^^^^^^^^^^^^^^^^")
    print("^^^^^^^^^^^^我是可爱的操作分界线╮( ̄▽ ̄)╭^^^^^^^^^^^^")
    choice=int(input("菜单-->请选择:"))
    while(choice!=5):
        if choice==1:
            increase()
        elif choice==2:
            delete()
        elif choice==3:
            update()
        else:
            search()
        print("^^^^^^^^^^^^我是可爱的操作分界线╮( ̄▽ ̄)╭^^^^^^^^^^^^")
        choice = int(input("菜单-->请选择:"))
    print("您已成功退出番号管理系统!Y(^_^)Y")


main()

部分运行截图
在这里插入图片描述

发布了5 篇原创文章 · 获赞 2 · 访问量 237

猜你喜欢

转载自blog.csdn.net/Mo_Shao/article/details/104667707