0
respostas

[Sugestão] Aula02_Python_Trabahando com Funções - Atividade 08

## 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.
# Dados do Clube
while True:
    nome_clube = str(input("Digite o nome do clube: ")).upper()
    if len(nome_clube) > 0:
        break
    else:
        print("Nome do clube não pode ser vazio. Tente novamente.")

# Partidas Realizadas
while True:
    try:
        partidas_realizadas = int(input("Digite o número de partidas realizadas: "))
        if partidas_realizadas > 0:
            break
        else:
            print("Número de partidas deve ser maior que zero. Tente novamente.")
    except ValueError:
        print("Entrada inválida. Digite um número inteiro.")

# Função para calcular vitórias, empates, derrotas e salvar os resultados
def calcular_vitorias_empates_derrotas(partidas_realizadas):
    vitorias = 0
    empates = 0
    derrotas = 0
    resultados = []

    for i in range(partidas_realizadas):
        while True:
            try:
                gols_marcados = int(input(f"Digite o número de gols marcados na partida {i + 1}: "))
                if gols_marcados >= 0:
                    break
                else:
                    print("Número de gols marcados deve ser maior ou igual a zero.")
            except ValueError:
                print("Entrada inválida. Digite um número inteiro.")
        
        while True:
            try:
                gols_sofridos = int(input(f"Digite o número de gols sofridos na partida {i + 1}: "))
                if gols_sofridos >= 0:
                    break
                else:
                    print("Número de gols sofridos deve ser maior ou igual a zero.")
            except ValueError:
                print("Entrada inválida. Digite um número inteiro.")
        
        resultados.append((gols_marcados, gols_sofridos))

        if gols_marcados > gols_sofridos:
            vitorias += 1
        elif gols_marcados == gols_sofridos:
            empates += 1
        else:
            derrotas += 1

    return vitorias, empates, derrotas, resultados

# Chamada da função
vitorias, empates, derrotas, resultados = calcular_vitorias_empates_derrotas(partidas_realizadas)

# Exibe os resultados dos jogos
print("\nResultados dos jogos:")
for i, (gols_marcados, gols_sofridos) in enumerate(resultados):
    print(f"Partida {i + 1}: {gols_marcados}x{gols_sofridos}")

# Função para calcular pontos
def calcular_pontos(vitorias, empates):
    return vitorias * 3 + empates

# Chamada da função
pontos = calcular_pontos(vitorias, empates)

# Cálculo do aproveitamento
pontos_possiveis = partidas_realizadas * 3
aproveitamento = (pontos / pontos_possiveis) * 100

# Função para exibir o resultado
def exibir_resultado(nome_clube, partidas_realizadas, vitorias, empates, derrotas, pontos, aproveitamento):
    print(f"\nClube: {nome_clube}")
    print(f"Partidas realizadas: {partidas_realizadas}")
    print(f"Vitórias: {vitorias}")
    print(f"Empates: {empates}")
    print(f"Derrotas: {derrotas}")
    print(f"Pontos: {pontos}")
    print(f"A pontuação do time foi de {pontos} e seu aproveitamento foi de {aproveitamento:.2f}%")

# Chamada da função final
exibir_resultado(nome_clube, partidas_realizadas, vitorias, empates, derrotas, pontos, aproveitamento)