1
resposta

[Projeto] Minha resolução - EX.5

Eu pensei em criar uma função para escolher o número de atletas e também armazenei as notas de cada skatista em um dicionário no final. Queria saber se eu poderia melhorar algo a mais no código.

def criar_atletas():
    lista_atletas = []
    atletas = int(input('Digite o número de skatistas: '))
    for i in range(1, atletas + 1):
        lista_atletas.append(i)
    return lista_atletas

def pontuacao(lista_atletas):     
        lista_resultados_finais = []
        for atleta in lista_atletas:
            notas = []
            for i in range(1, 6):
                nota = float(input(f'Jurado {i}, digite a nota do skatista {atleta}: '))
                notas.append(nota)
        
            notas.remove(max(notas))
            notas.remove(min(notas))

            media = sum(notas) / len(notas)
            
            dict_atletas = {
                'Atleta' : atleta,
                'Notas' : notas,
                'Nota_final' : media
            }

            lista_resultados_finais.append(dict_atletas)

            print(f'Skatista {atleta} - Nota da manobra: {media:.2f}')
        return lista_resultados_finais

lista = criar_atletas()
resultado = pontuacao(lista)

print('\n')
for item in resultado:
     print(f"Atleta: {item['Atleta']} | Notas: {item['Notas']} | Nota final : {item['Nota_final']:.2f} ")
             

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Oi, Nicolas! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Gostei da forma como você organizou o programa em duas funções, separando a criação da lista de atletas e o cálculo das pontuações. Essa estrutura facilita muito a leitura e manutenção do código, além de seguir boas práticas de programação.

Uma dica interessante para o futuro é usar a função enumerate() para iterar pelos atletas. Veja este exemplo:


for i, atleta in enumerate(lista_atletas, start=1):
    print(f"Atleta {i}: {atleta}")

Esse comando atribui automaticamente um contador a cada item da lista, evitando a necessidade de usar range manualmente.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

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