Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Minha solução

Segue a minha resolução do workshop baseado no motivo maratona.
Meu aprendizado na Alura esta sendo muito produtivo e gratificante

#@thiagotensai God is Good!

#Biblioteca Regex
import re

''' Programa apresenta: 
_Os nomes de todos os participantes.
_As idades de todos os participantes.
_Remove um participante
_Uma relação completa com o nome e a idade de cada um.
'''
    #Dicionário Participantes
participantes = { 
   "Equipe 1": {
       "Rafael": 43,
       "Henrique": 42,
       "Grazy": 42,
       "Thiago": 41
   },
   "Equipe 2": {
       "Felipe": 39,
       "Nayara": 39,
       "Amanda": 38,
       "Bruno": 37,
   }
}

print('===Maratona===')
#keys-Retorna Chaves (['nome', 'idade'])
print ("Nomes dos participantes:")
for equipe in participantes.values():
    print (", ".join(equipe.keys()))

 #values-Retorna Valores (['Thiago' , '41'])
print("\nIdades dos participantes:")
for equipe in participantes.values():
    print (" anos, ".join(str(idade) for idade in equipe.values()))

#items-Retorna como tuplas ([('nome', 'Thiago'),(['idade', '41')])
print ("\nParticipantes e suas idades:")
for equipe_nome, equipe in participantes.items():
    print (f"\n{equipe_nome}:")
    #items-Retorna como tuplas ([('nome', 'Thiago'),(['idade', '41')])
    for nome, idade in equipe.items():
        print (f"- {nome}: {idade} anos")

#---Função Validar Texto---
def validar_texto(texto):
   #Aceita apenas letras e espaços (inclui acentos).
    return bool(re.fullmatch(r"[A-Za-zÀ-ÿ\s]+", texto))
    
     #-------Remover Participante-----
nome_remover = input("\nDigite o nome do participante a ser removido: ").strip()

if not validar_texto(nome_remover):
    print ("Nome inválido. Apenas letras e espaços.")
else:
    #values-Retorna Valores (['Thiago' , '41'])
    for equipe in participantes.values():
        if nome_remover in equipe:
            #del-Deleta no Dicionário ['nome']
            del equipe[nome_remover]
            print (f"{nome_remover} removido com sucesso!")
            break
    else:
        print ("Participante não encontrado.")
    ''' nomes.discard(nome_remover)-Remove Item
    '''
    #Resultado
print ("\nLista atualizada:")
#items-Retorna Tuplas
for equipe_nome, equipe in participantes.items():
    print (f"{equipe_nome}: {equipe}")
1 resposta
solução!

Olá, Thiago! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o dicionário para organizar os participantes com Python, utilizou muito bem o método items para exibir nomes e idades e ainda compreendeu a importância da expressão regular para validar entradas de texto.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Uma dica interessante para o futuro é aplicar o método get() ao acessar elementos em dicionários. Assim:

idade = equipe.get("Thiago", "Participante não encontrado")
print(idade)

Isso faz retornar o valor associado à chave ou uma mensagem padrão caso ela não exista.

Conteúdos relacionados

Alguns materiais podem estar em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!