Uma empresa de streaming está desenvolvendo um aplicativo para que os usuários indiquem as principais características de um conjunto de filmes que serão disponibilizados. 0 arquivo filmes. txt possui diversos nomes de filmes, um em cada linha. Faça um programa que leia o arquivo e mostre para o usuário o nome dos filmes, um de cada vez 0 usuário, ao ver o nome do filme, pode digitar 3 características do filme (Ex: aventura, familia, superação etc). O programa deve ter um dicionário onde vai armazenar todas as caracteristicas digitadas pelo usuário, para todos os filmes. Esse dicionário deve armazenar a característica como chave e a quantidade de filmes que tiveram essa característica como valor.
Ao final da leitura do arquivo, o programa deve mostrar na tela cada caracteristica indicada e a quantidade de filmes que apresentaram essa característica, uma por linha.
Ao final da leitura do arquivo, o programa deve mostrar na tela cada caracteristica indicada e a quantidade de filmes que apresentaram essa característica, uma por linha.
Passo 1
Beleza, vamos entender o que a questão pede. A gente tem que criar um programa que lê um arquivo chamado
filmes.txt
, que tem uma lista de filmes, um por linha. Para cada filme, o programa vai mostrar o nome e pedir para o usuário digitar 3 características sobre ele, tipo “aventura”, “família”, “superação”, etc. Depois, a gente vai guardar essas características num dicionário, onde a chave é a característica e o valor é a quantidade de filmes que têm essa característica. No final, o programa mostra cada característica com o número de filmes que a possuem. Vamos usar programação, provavelmente Python, e vamos precisar saber como ler arquivos, interagir com o usuário, e usar dicionários.Passo 2
Primeiro, vamos abrir e ler o arquivo
filmes.txt
. Em Python, a gente pode usar a função open()
para isso. Vamos ler todas as linhas do arquivo e armazenar os nomes dos filmes numa lista.with open('filmes.txt', 'r', encoding='utf-8') as arquivo:
filmes = arquivo.readlines()
# Remover as quebras de linha
filmes = [filme.strip() for filme in filmes]
Passo 3
Agora que temos a lista de filmes, vamos criar um dicionário vazio para armazenar as características e suas contagens.
caracteristicas_dict = {}
Passo 4
Vamos iterar sobre cada filme na lista. Para cada filme, vamos mostrar o nome e pedir para o usuário digitar 3 características. Podemos usar um loop para garantir que o usuário digite exatamente 3 características.
for filme in filmes:
print(f"\nFilme: {filme}")
caracteristicas = []
while len(caracteristicas) < 3:
caracteristica = input(f"Digite a característica {len(caracteristicas)+1} para '{filme}': ").strip().lower()
if caracteristica:
caracteristicas.append(caracteristica)
else:
print("Característica não pode ser vazia. Tente novamente.")
Passo 5
Depois de obter as 3 características, vamos atualizar o dicionário. Se a característica já existir, aumentamos o contador; se não, adicionamos com valor 1.
for carac in caracteristicas:
if carac in caracteristicas_dict:
caracteristicas_dict[carac] += 1
else:
caracteristicas_dict[carac] = 1
Passo 6
Após processar todos os filmes, vamos mostrar as características e quantos filmes têm cada uma delas. Vamos iterar sobre o dicionário e imprimir na tela.
print("\nCaracterísticas e a quantidade de filmes que as possuem:")
for carac, quantidade in caracteristicas_dict.items():
print(f"{carac}: {quantidade}")
Passo 7
with open(‘filmes.txt’, ‘r’, encoding=‘utf-8’) as arquivo:
filmes = arquivo.readlines()
filmes = [filme.strip() for filme in filmes]
filmes = arquivo.readlines()
filmes = [filme.strip() for filme in filmes]
Passo 8
caracteristicas_dict = {}
Passo 9
for filme in filmes:
print(f"\nFilme: {filme}")
caracteristicas = []
while len(caracteristicas) < 3:
caracteristica = input(f"Digite a característica {len(caracteristicas)+1} para ‘{filme}’: ").strip().lower()
if caracteristica:
caracteristicas.append(caracteristica)
else:
print(“Característica não pode ser vazia. Tente novamente.”)
# Atualizar o dicionário
for carac in caracteristicas:
if carac in caracteristicas_dict:
caracteristicas_dict[carac] += 1
else:
caracteristicas_dict[carac] = 1
print(f"\nFilme: {filme}")
caracteristicas = []
while len(caracteristicas) < 3:
caracteristica = input(f"Digite a característica {len(caracteristicas)+1} para ‘{filme}’: ").strip().lower()
if caracteristica:
caracteristicas.append(caracteristica)
else:
print(“Característica não pode ser vazia. Tente novamente.”)
# Atualizar o dicionário
for carac in caracteristicas:
if carac in caracteristicas_dict:
caracteristicas_dict[carac] += 1
else:
caracteristicas_dict[carac] = 1
Passo 10
print("\nCaracterísticas e a quantidade de filmes que as possuem:")
for carac, quantidade in caracteristicas_dict.items():
print(f"{carac}: {quantidade}")
for carac, quantidade in caracteristicas_dict.items():
print(f"{carac}: {quantidade}")
Pronto! Esse programa vai ler os filmes do arquivo, pedir para você adicionar características para cada um e, no final, mostrar quantos filmes têm cada característica informada. Se tiver qualquer dúvida ou precisar ajustar algo, é só falar!
Resposta
Aqui está o programa completo juntando todos os passos: