Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Projeto] Proposta de resposta

alunos = []
aluno = {}
nomes = ["Maria Silva", "João Santos", "Ana Oliveira", "Pedro Costa", "Juliana Pereira"]
medias = [8.5, 7.2, 9.0, 6.8, 9.5]
while len(nomes) > 0:
  aluno['nome'] = nomes.pop(0)
  aluno['media'] = medias.pop(0)
  alunos.append(aluno)
  aluno = {}
print(alunos)
1 resposta

Oi, Paulo. Tudo bem com você?

Seu código atende bem à proposta da atividade, usando uma lista para armazenar vários dicionários, em que cada dicionário representa um aluno com seu nome e sua média. A utilização do pop(0) também mantém a associação entre os nomes e as médias, já que os dois elementos são retirados sempre da mesma posição.

Um detalhe interessante é que você criou um novo dicionário com aluno = {} depois de adicioná-lo à lista. Isso é importante porque evita que todos os elementos de alunos apontem para o mesmo dicionário. Dessa forma, cada iteração cria um registro independente.

Uma reflexão interessante seria: se você precisasse adicionar uma nova informação para cada aluno, como a situação "aprovado" ou "reprovado", onde você colocaria essa informação no seu dicionário?

Parabéns pelo exercício, Paulo. Obrigado por compartilhar sua solução com a comunidade. Continue praticando e compartilhando suas ideias. O fórum está à disposição sempre que precisar.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!