1
resposta

Dúvida na questão 8 de aplicando projetos

Questão 8

Como cientista de dados em um time de futebol, você precisa implementar novas formas de coleta de dados sobre o desempenho de jogadores e do time como um todo.

Sua primeira ação é criar uma forma de calcular a pontuação do time no campeonato nacional a partir dos dados de gols marcados e sofridos em cada jogo.

Escreva uma função chamada calcula_pontos que recebe como parâmetros duas listas de números inteiros, representando os gols marcados e sofridos pelo time em cada partida do campeonato.

A função deve retornar a pontuação do time e o aproveitamento em percentual, levando em consideração que a vitória vale 3 pontos, o empate vale 1 ponto e a derrota 0 pontos.

Observação: Se a quantidade de gols marcados numa partida for maior que a de sofridos, o time venceu. Caso seja igual, o time empatou e se for menor, o time perdeu. Para calcular o aproveitamento devemos fazer a razão entre a pontuação do time pela pontuação máxima que ele poderia receber.

Para teste, utilize as seguintes listas de gols marcados e sofridos

gols_marcados = [2, 1, 3, 1, 0]
gols_sofridos = [1, 2, 2, 1, 3]

Provável texto exibido:

"A pontuação do time foi de [pontos] e seu aproveitamento foi de [aprov]%"

eu travei na parte de fazer o calculo de pontos do time, já tentei usar tudo que eu sei porem não estou conseguindo

1 resposta

Oi João, tudo bem?

Para responder essa questão. Primeiro, podemos criar uma variável pontos para armazenar a pontuação do time.

Depois, percorremos a lista de gols marcados e sofridos para calcular os pontos:

  • Se o time marcou mais gols que sofreu, soma 3 pontos.
  • Se empatou, soma 1 ponto.
  • Se perdeu, não soma nada.

Por fim, calculamos o aproveitamento, que é a porcentagem dos pontos conquistados em relação ao máximo possível (3 pontos por jogo).

Deixo o código com comentários da lógica utilizada:

# Listas representando os gols marcados e sofridos em cada partida do campeonato
gols_marcados = [2, 1, 3, 1, 0]
gols_sofridos = [1, 2, 2, 1, 3]

# Função para calcular a pontuação total do time e seu aproveitamento no campeonato
def calcula_pontos(gols_marcados, gols_sofridos):
    pontos = 0  # Variável que armazena a pontuação total do time
    
    # Percorre todas as partidas
    for i in range(len(gols_marcados)):  
        if gols_marcados[i] > gols_sofridos[i]:  # Se o time venceu
            pontos += 3  # Soma 3 pontos
        elif gols_marcados[i] == gols_sofridos[i]:  # Se houve empate
            pontos += 1  # Soma 1 ponto
        # Se o time perdeu, não soma pontos (não precisa de else)

    # Cálculo do aproveitamento percentual do time
    aprov = 100 * pontos / (len(gols_marcados) * 3)  # Fórmula: (pontos conquistados / pontos possíveis) * 100

    return (pontos, aprov)  # Retorna a pontuação total e o aproveitamento

Destaco que você pode consultar a solução no botão Opinião do Instrutor.

Espero ter ajudado.

Qualquer dúvida, não hesite em compartilhar no fórum.

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado