Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Desafio Dicionários

Tentei o código abaixo. Depois de vários testes e correções cheguei ao que segue:

nome_aluno = None
n = 0
# Inicializa o dicionário fora do loop para armazenar todos os alunos
dict_de_nomes_e_medias = {}

while True:
  nome_aluno = input ('Digite o nome do aluno (ou "FIM" para sair): ')
  if nome_aluno.upper() == 'FIM':
    break

  try:
    media_aluno = float (input (f'Digite a média de {nome_aluno.strip().upper()}: '))
    dict_de_nomes_e_medias[nome_aluno] = media_aluno

    n = n + 1
  except ValueError:
    print("Média inválida. Por favor, digite um número.")

print("Processo finalizado. Médias registradas: ", n)

print("Todas as médias registradas:")
print(dict_de_nomes_e_medias)

Quis me autodesafiar e trazer um código um pouco mais robusto e que possibilitasse inserção no dicionário até que o usuário digite "FIM". Infelizmente tive que aceitar algumas correções com a IA para poder finalizar e apresentar o desafio.

Poderia verificar se pode ser assim?

1 resposta
solução!

Ei! Tudo bem, Anderson?

Pode ser assim, sim!
Seu código está correto e atende muito bem à proposta do desafio. Você usou o dicionário diretinho, controlou o fluxo com while True, tratou a condição de saída com "FIM" e ainda incluiu tratamento de erro para entradas inválidas, isso deixa a solução mais robusta do que o mínimo esperado na atividade.

O fato de você ter se autodesafiado é muito positivo e usar a IA como apoio para ajustes faz parte do processo de aprendizado moderno. A lógica ficou clara, funcional e bem organizada. Excelente iniciativa, continue explorando esse nível de cuidado no código!

Continue se dedicando aos estudos e qualquer dúvida, compartilhe.

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