提供按类型搜索电影的功能+;txt文件-python
我必须创建按流派搜索电影的功能,所以当我输入流派名称时,它应该打印出所有具有该流派的电影。但我有一个问题,例如,在我的txt文件中,我有(一个飞越布谷鸟的巢戏剧| 133 |米洛斯·福尔曼|杰克·尼科尔森|美国| 1975 | |“电影描述”…)。我用“|”将其拆分,并在[1]位置按索引显示流派。但我也有两种不同类型的电影,例如(《黑客帝国》动作片、科幻片| 136 |拉娜和莉莉·瓦乔夫斯基|基努·里夫斯基|美国| 1999 |电影描述”…) 现在,如果我输入“戏剧”,它将打印出索引[1]上有“戏剧”的所有电影,但如果我输入,例如,“动作”,它将不会打印出矩阵,因为矩阵有两种类型(程序实际看到1),所以我必须在它们之间输入逗号。 我想制作一个程序,即使你的电影有两种类型,并且只输入其中的一种,你的程序也会识别出来并打印出来。(我尝试将“流派”部分拆分为“,”,但其列表索引超出范围,因为不是每部电影都有“流派”部分) 我做了一个函数,我把文件的所有部分都放在dict中,然后放在列表中,这样我就不必每次需要文件中的内容时都打开文件。 我也尝试过使用“如果有的话…”,但它只使用一个字母,所以效果不好。如果r['genre'中的类型是:提供按类型搜索电影的功能+;txt文件-python,python,python-3.x,Python,Python 3.x,我必须创建按流派搜索电影的功能,所以当我输入流派名称时,它应该打印出所有具有该流派的电影。但我有一个问题,例如,在我的txt文件中,我有(一个飞越布谷鸟的巢戏剧| 133 |米洛斯·福尔曼|杰克·尼科尔森|美国| 1975 | |“电影描述”…)。我用“|”将其拆分,并在[1]位置按索引显示流派。但我也有两种不同类型的电影,例如(《黑客帝国》动作片、科幻片| 136 |拉娜和莉莉·瓦乔夫斯基|基努·里夫斯基|美国| 1999 |电影描述”…) 现在,如果我输入“戏剧”,它将打印出索引[1]上有“
list_movie = []
def movies_list():
with open("film.txt","r") as f:
all_h = ["name","genre","lasting","director","main role","country","year","desc"]
for r in f.readlines():
dicct = {}
bla = r.strip().split("|")
count = 0
for i in bla:
dicct[all_h[count]] = i
count += 1
list_movie.append(dicct)
movies_list()
def genre():
x=False
genres = input("Input genre: ")
for r in list_movie:
if r["genre"] == genres:
print()
print("Movie name: ", r["name"])
print("Genre: ", r["genre"])
print("Lasting: ",r["lasting"],"minutes")
print("Director: ",r["director"])
print("Main role: ",r["main role"])
print("Country: ",r["country"])
print("Year: ",r["year"])
print("-------------------------------")
x=True
if x==True:
print()
else:
print()
print("No movie was found. ")
print()
genre()