Oi, Evandro. Tudo bem com você?
Seu código apresenta um bom início ao usar o método union para juntar as tarefas e ao capturar a entrada do usuário para a remoção desejada. Contudo, há uma inconsistência lógica na forma como a exclusão foi implementada no trecho final. O método symmetric_difference seleciona apenas os elementos que não são comuns a ambos os conjuntos originais, o que descarta tarefas compartilhadas e ignora a string digitada no comando input. Para corrigir isso e realizar a remoção real do item escolhido dentro do conjunto unificado, o correto é aplicar a função remove diretamente sobre o resultado da união das equipes.
Como exemplo para essa correção, após realizar o armazenamento da junção dos grupos com o método union, você deve executar a remoção do elemento desejado digitando uniao.remove(remover_tarefa) em uma linha separada. Dessa forma, a variável que guarda a união será modificada diretamente e estará pronta para exibição sem perder as tarefas repetidas originais que não foram escolhidas para exclusão.
Como você poderia adaptar essa lógica para usar o método discard no lugar de remove caso o usuário digite uma tarefa inexistente?
Parabéns pelo empenho ao desenvolver a atividade e por compartilhar sua dúvida, o fórum está sempre à disposição.
Para saber mais:
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!