1
resposta

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

Fiz uma featurezinha que também mostra o saldo de gols da partida.

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

def calcular_pontos(gols_pro, gols_contra):
    pts_maximo = len(gols_pro * 3)
    pontos_conquistados = 0

    for i in range(0, len(gols_pro)):
        if gols_pro[i] > gols_contra[i]:
            pontos_conquistados += 3
        elif gols_pro[i] == gols_contra[i]:
            pontos_conquistados += 1
    
    aproveitamento = round(100 * pontos_conquistados /pts_maximo ,2)

    return (pontos_conquistados, aproveitamento)

def calcular_saldo_gols(gols_P, gols_C):
    saldo_total = 0

    for i in range(len(gols_P)):
        saldo_partida = gols_P[i] - gols_C[i]
        saldo_total += saldo_partida

    return saldo_total

pts, aprov = calcular_pontos(gols_marcados, gols_sofridos)
saldo_gols = calcular_saldo_gols(gols_marcados, gols_sofridos)

print(f'O time fez {pts} e seu aproveitamento foi de {aprov}%.\nO saldo foi de {saldo_gols} gols.')

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 bastante da forma como você estruturou as funções para calcular os pontos e o saldo de gols, elas estão bem organizadas e fáceis de entender.

Uma dica interessante para o futuro é usar a função zip() para percorrer duas listas ao mesmo tempo. Veja um exemplo:


gols_pro = [2, 1, 3]
gols_contra = [1, 2, 2]

for pro, contra in zip(gols_pro, gols_contra):
    print(pro - contra)

Esse código usa zip() para iterar simultaneamente sobre as duas listas e exibe o saldo de cada jogo.

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!