1
resposta

Desafio: hora da prática - Aplicando Projetos

7. Concatenar nomes e sobrenomes

nomes = ["joão", "MaRia", "JOSÉ"]
sobrenomes = ["SILVA", "souza", "Tavares"]

Normaliza para primeira letra maiúscula e concatena
nomes_completos = list(map(lambda n, s: n.capitalize() + " " + s.capitalize(), nomes, sobrenomes))

for nome in nomes_completos:
print(f"Nome completo: {nome}")

8. Pontuação do time de futebol

def calcula_pontos(gols_marcados: list, gols_sofridos: list) -> tuple:
"""
Calcula a pontuação e o aproveitamento de um time no campeonato.

Regras:
- Vitória: 3 pontos
- Empate: 1 ponto
- Derrota: 0 pontos

Aproveitamento = pontos conquistados / pontos máximos possíveis * 100
"""
pontos = 0
for gm, gs in zip(gols_marcados, gols_sofridos):
    if gm > gs:
        pontos += 3
    elif gm == gs:
        pontos += 1
    # se gm < gs, não soma pontos

pontos_maximos = len(gols_marcados) * 3
aproveitamento = (pontos / pontos_maximos) * 100
return pontos, aproveitamento
1 resposta

Oi, Penha! Como vai?

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

Nos dois exercícios você demonstrou um entendimento sólido sobre como trabalhar com listas em Python. No primeiro, o uso de map() junto com lambda para normalizar nomes e sobrenomes com capitalize e gerar a lista nomes_completos ficou muito elegante e legível. Essa abordagem evita a necessidade de um for explícito e deixa o código mais compacto, sem perder clareza.

No segundo exercício, você estruturou bem a lógica de comparação entre gols_marcados e gols_sofridos, calculou corretamente os pontos_maximos e chegou ao aproveitamento dividindo os pontos conquistados por esse valor máximo e multiplicando por 100. O uso de zip() para percorrer as duas listas simultaneamente foi uma escolha muito acertada.

Uma dica interessante para complementar seus estudos é utilizar enumerate() quando precisar acompanhar a posição de cada item durante um for. Veja este exemplo:


nomes = ["Joao", "Maria", "Jose"]

for indice, nome in enumerate(nomes):
    print(f"{indice} - {nome}")

Esse código percorre a lista mostrando o índice e o valor de cada elemento ao mesmo tempo, o que pode ser muito útil em situações onde a posição do item importa para a lógica do programa.

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!