Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

Faça como eu fiz: gerenciando inscrições de um workshop

participantes = {
    "Workshop 1": {"Alice", "Bruno", "Carla", "Diego"},
    "Workshop 2": {"Fernanda", "Gustavo", "Helena"}
}

remover_participante = input("Nome do participante a ser removido: ").title()

for workshop, nomes in participantes.items():
    lista_inicial = nomes.copy()
    nomes.discard(remover_participante)
    if lista_inicial != nomes:
        print(f"\nO participante {remover_participante} foi removido do {workshop}.")

    else:
        print(f"Sem alteração no {workshop}.")


print("\nLista atualizada de participantes:")

for workshop, participantes_atualizados in participantes.items():
    print(f"{workshop}: {participantes_atualizados}")
Nome do participante a ser removido: Carla

O participante Carla foi removido do Workshop 1.
Sem alteração no Workshop 2.

Lista atualizada de participantes:
Workshop 1: {'Bruno', 'Alice', 'Diego'}
Workshop 2: {'Fernanda', 'Helena', 'Gustavo'}
1 resposta
solução!

Oi, Carlos. Tudo certo?

Sua solução para gerenciar inscrições de um workshop está muito bem desenvolvida. Você utilizou uma abordagem inteligente ao trabalhar com dicionários contendo conjuntos de participantes, e a remoção foi feita de forma segura usando o método .discard(). Essa escolha é particularmente apropriada porque não gera erros quando o participante não existe em um determinado workshop, permitindo que o programa continue executando sem interrupções. A comparação entre a cópia do conjunto original e o modificado é uma estratégia eficaz para detectar se houve efetivamente uma remoção, informando ao usuário em qual workshop o participante foi removido.

A normalização do input com .title() também demonstra atenção ao detalhe, garantindo que a busca funcione mesmo com variações de capitalização. A exibição final da lista atualizada torna clara a mudança realizada no sistema. Uma consideração interessante para futuras implementações seria explorar como lidar com situações onde o mesmo nome de participante possa aparecer em múltiplos workshops, garantindo remoção consistente em todos eles.

Como você poderia adaptar esse código para permitir que o usuário removesse múltiplos participantes em uma única execução do programa?

Obrigado por compartilhar seu trabalho conosco. Parabéns pela solução bem pensada e continue contribuindo suas implementações. O fórum está à disposição.

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