1
resposta

Galera fiz essa versao do exercicio#

import os
import random

'''
popular dicionario
k = nome do filme
i = data
'''

filme = ["Jonh Wick", "Back in the Future",
"Stargate", "Impossible Mission", "Origin"]
t = "01-01-1990", "03-01-1986", "12-12-2000", "04-12-1994", "24-04-2010"

t1 = len(str(filme))
t2 = len(str(t))

print('=' * (t2+t1))
print(filme, t)
print('=' * (t2+t1))
locadora = {}

for f, data in zip(filme, t):
print(f"MOVIE: {f} | DATE: {data}")
locadora[f] = data

print('=' * (t2+t1))

print(locadora)

print('=' * (t2+t1))

1 resposta

Olá Francisco.
Obrigado por compartilhar seu aprendizado.
Há varias melhorias que podem ser implementadas em seu codigo principalmente pensando em manutenbilidade.
Confere ai:
O código mostra que já entende conceitos importantes:

  • Uso de listas e tuplas
  • Associação de dados com zip
  • Criação e preenchimento de dicionário
  • Uso de print para exibição
    Os pontos de melhoria são naturais dessa fase de aprendizado.

1. Imports que não são utilizados

import os
import random

Esses módulos não são usados no código.
Por que melhorar?
Manter apenas o que é necessário deixa o código mais limpo e evita confusão para quem está lendo ou estudando depois.

2. Nomes de variáveis pouco claros

filme = [...]
t = (...)
t1 = len(str(filme))
t2 = len(str(t))

Sugestão:

filmes = [...]
datas = (...)

Por que melhorar?
Nomes mais descritivos ajudam a entender rapidamente o que cada variável representa, sem precisar ler o código inteiro.

3. Uso de len(str(lista))

t1 = len(str(filme))
t2 = len(str(t))

Isso calcula o tamanho do texto gerado pela lista ou tupla, não algo logicamente útil para o programa.
Por que melhorar?
Se a intenção for saber quantos filmes existem, o correto é:

len(filme)

Se for apenas para desenhar linhas na tela, é melhor usar um tamanho fixo:

print("=" * 50)

Isso torna o código mais previsível e fácil de ajustar.

4. Comentário inicial pouco claro

'''
popular dicionario
k = nome do filme
i = data
'''

Sugestão:

# Cria um dicionário onde:
# chave = nome do filme
# valor = data

Por que melhorar?
Comentários devem explicar a intenção do código, não apenas repetir o que ele faz de forma vaga.

5. Estrutura dos dados

Atualmente:

  • Lista para filmes
  • Tupla para datas
    Isso funciona, mas pode causar confusão no aprendizado.
    Sugestão didática:
    Usar o mesmo tipo de estrutura para dados relacionados (duas listas ou duas tuplas).

6. Escrita dos nomes dos filmes

Alguns nomes estão com pequenos erros:

  • Jonh Wick - John Wick
  • Impossible Mission - Mission Impossible
    Por que melhorar?
    Detalhes assim fazem parte da qualidade do código e evitam erros futuros quando os dados forem usados para busca ou comparação.

Exemplo reorganizado

filmes = [
    "John Wick",
    "Back to the Future",
    "Stargate",
    "Mission Impossible",
    "Origin"
]

datas = [
    "01-01-1990",
    "03-01-1986",
    "12-12-2000",
    "04-12-1994",
    "24-04-2010"
]

locadora = {}

print("=" * 50)

for filme, data in zip(filmes, datas):
    print(f"MOVIE: {filme} | DATE: {data}")
    locadora[filme] = data

print("=" * 50)
print(locadora)
print("=" * 50)

Sugestões para evolução

  • Verificar se as listas têm o mesmo tamanho antes do zip
  • Criar uma função para montar o dicionário
  • Permitir entrada de dados pelo usuário
  • Aprender a formatar melhor a saída (f-strings mais organizadas)
    O código está correto conceitualmente .
    As melhorias sugeridas não são “erros graves”, mas ajustes que ajudam a:
  • Tornar o código mais legível
  • Evitar confusão no futuro
  • Criar bons hábitos desde o início

Avisa qualquer duvida.
Bons estudos.