## 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)