具体实现:
(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()