-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathimdb.py
148 lines (119 loc) · 4.51 KB
/
imdb.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
arquivo = 'imdb_top_1000.csv'
filmes = []
arq = open(arquivo, 'r', encoding="utf8")
for linha in arq:
split_linha = linha.split(";")
filmes.append(split_linha)
arq.close()
""" Busca por artistas
Exemplos: Jennifer Connelly
Jennifer Lawrence
Scarlett Johansson
Julia Roberts """
def buscar_por_artista(artista):
for coluna in filmes:
if (coluna[10] == artista or coluna[11] == artista or
coluna[12] == artista or coluna[13] == artista):
print(coluna[1])
print("Nota:", coluna[6])
print("Gênero:", coluna[5])
print(coluna[10])
print(coluna[11])
print(coluna[12])
print(coluna[13])
print("Diretor:", coluna[9])
print("-----------------------------")
""" Retorna todos os artistas
em ordem alfabética e a quantidade encontrada """
def artistas():
lista_artistas = []
for coluna in filmes:
lista_artistas.append(coluna[10])
lista_artistas.append(coluna[11])
lista_artistas.append(coluna[12])
lista_artistas.append(coluna[13])
artistas = set(lista_artistas)
artistas = sorted(artistas)
return len(artistas), artistas
""" Todos os artistas cujo nome começam com a letra informada,
em ordem alfabética e retorna a quantidade encontrada """
def artistas_por_letra(letra):
lista_artistas = []
for coluna in filmes:
if coluna[10][0] == letra:
lista_artistas.append(coluna[10])
if coluna[11][0] == letra:
lista_artistas.append(coluna[11])
if coluna[12][0] == letra:
lista_artistas.append(coluna[12])
if coluna[13][0] == letra:
lista_artistas.append(coluna[13])
artistas = set(lista_artistas)
return len(artistas), sorted(artistas)
""" Busca por diretores
Exemplos: Sofia Coppola
Woody Allen
Joss Whedon
Anthony Russo """
def buscar_por_diretor(diretor):
for coluna in filmes:
if (coluna[9] == diretor):
print(coluna[1])
print("Nota:", coluna[6])
print("Gênero:", coluna[5])
print(coluna[10])
print(coluna[11])
print(coluna[12])
print(coluna[13])
print("Diretor:", coluna[9])
print("-----------------------------")
""" Retorna todos os diretores
em ordem alfabética e a quantidade encontrada """
def diretores():
lista_diretores = []
for coluna in filmes:
lista_diretores.append(coluna[9])
diretores = set(lista_diretores)
diretores = sorted(diretores)
return len(diretores), diretores
""" Todos os diretores cujo nome começam com a letra informada,
em ordem alfabética e retorna a quantidade encontrada """
def diretores_por_letra(letra):
lista_diretores = []
for coluna in filmes:
if coluna[9][0] == letra:
lista_diretores.append(coluna[9])
diretores = set(lista_diretores)
return len(diretores), sorted(diretores)
""" Retorna a contagem e a lista de filmes estrelados por determinado artista """
def filmes_por_artista(artista):
lista_de_filmes = []
for coluna in filmes:
if (coluna[10] == artista or coluna[11] == artista or
coluna[12] == artista or coluna[13] == artista):
lista_de_filmes.append(coluna[1])
return len(lista_de_filmes), sorted(lista_de_filmes)
""" Retorna a contagem e a lista de filmes dirigidos por determinado diretor """
def filmes_por_diretor(diretor):
lista_de_filmes = []
for coluna in filmes:
if (coluna[9] == diretor):
lista_de_filmes.append(coluna[1])
return len(lista_de_filmes), sorted(lista_de_filmes)
""" Retorna informações sobre um filme """
def dados_do_filme(filme):
filme_info = []
for coluna in filmes:
if coluna[1] == filme:
filme_info.append(f"Released year: {coluna[2]}\n")
filme_info.append(f"Runtime: {coluna[4]}\n")
filme_info.append(f"Genre: {coluna[5]}\n")
filme_info.append(f"IMDB rating: {coluna[6]}\n")
filme_info.append(f"Director: {coluna[9]}\n")
filme_info.append(f"Star1: {coluna[10]}\n")
filme_info.append(f"Star2: {coluna[11]}\n")
filme_info.append(f"Star3: {coluna[12]}\n")
filme_info.append(f"Star4: {coluna[13]}\n")
filme_info.append(f"Votes: {coluna[14]}\n\n")
filme_info.append(f"Overview: {coluna[7]}\n")
return filme_info