Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Analisando os participantes de uma maratona


participantes = { 

    "Mariana": 25, 

    "Carlos": 32, 

    "Beatriz": 28, 

    "Rafael": 35 

} 

chaves = dict(participantes)
lista_chaves = list(chaves.keys())

nomes  = ""
idades = ""
composto = ""


for item in lista_chaves:
  nomes += (str(item)+",")
  idades += ((str(chaves[item])) + ",")
  composto += ((str(item)+": ") + ((str(chaves[item])) + "\n")) 



print("Nomes dos participantes :", nomes[0:-1])
print("Idade dos participantes :", idades[0:-1])
print("Participantes e suas idades :" + "\n", composto[0:-1])
2 respostas
solução!

Muito bem!

Código com lógica muito boa, e padrão exemplar.

Algumas dicas:

chaves = dict(participantes)

Essa linha torna-se desnecessária, pois participantes já é um dicionário, e possui um nome muito mais descritivo que chaves.

lista_chaves = list(chaves.keys())

Essa linha também não seria necessária, pois você pode iterar diretamente das chaves.keys(), sem ter que converter para listas.

for item in lista_chaves:
  nomes += (str(item)+",")
  idades += ((str(chaves[item])) + ",")
  composto += ((str(item)+": ") + ((str(chaves[item])) + "\n")) 

Primeiramente quanto a nomenclatura, seria melhor algo como for chave in lista_chaves: ou, melhor ainda, for participante in participantes: ou for participante in participante.keys(): caso queira deixar explícito.

Além disso, temos algumas operações redundantes, como aplicar conversão para string em item, que sempre são strings.

Poderia-se tanto fazer algo como:

    nomes += item + "," 

Ou:

    nomes += f"{item},"

Por fim, quanto aos prints finais, podemos simplificar slices que começam do primeiro item, não colocando o primeiro item, do seguinte modo: [:-1] Além disso, o \n poderia estar na própria string no final, ficando assim, por exemplo:

print("Participantes e suas idades :\n", composto[:-1])

De um modo ou de outro, esses não são erros, são apenas dicas de outros modos de fazer. Porém, com relação a nomenclatura das variáveis, isso é importante. Variáveis devem sempre ter nomes descritivas do que elas representam.

Ademais, parabéns pelo código!

Valeu pelas dicas Edmilson, anotei todas.