1
resposta

[Projeto] tarefas

equipe_a = set()
equipe_b = set()

while True:
    entrada_equipe_A = input('Digite as atividades da equipe A: ').lower().strip()
    if entrada_equipe_A == 'sair':
        break
    entrada_equipe_A = [t.strip() for t in entrada_equipe_A.split(',')]
    equipe_a.update(entrada_equipe_A)


while True:
    entrada_equipe_B = input('Digite as atividades da equipe b: ').lower().strip()
    if entrada_equipe_B == 'sair':
        break
    entrada_equipe_B = [t.strip() for t in entrada_equipe_B.split(',')]
    equipe_b.update(entrada_equipe_B)

tarefas_iguais = equipe_a.union(equipe_b)

while True:
    print(tarefas_iguais)
    remover_tarefa = input('Digite a tarefa que deseja remover: ').lower().strip()
    if remover_tarefa == 'sair':
        break

    if remover_tarefa in tarefas_iguais:
        tarefas_iguais.remove(remover_tarefa)
        print(f"'{remover_tarefa}' removida com sucesso.")
    else:
        print("Essa tarefa não está na lista.")

    
print(tarefas_iguais)
1 resposta

Olá, João!
Mais uma vez, parabéns pela iniciativa de ir além do enunciado!

Achei excelente que você criou uma interface para o usuário digitar as tarefas dinamicamente (usando input e split), em vez de deixar os valores fixos no código. O uso de List Comprehension ([t.strip() for t in ...]) para limpar os espaços também foi uma sacada muito profissional!

Tenho apenas uma observação importante sobre semântica (o significado do código) para te ajudar a manter a lógica clara:

**Nome da variável e o método .union()**
Você criou a variável tarefas_iguais para receber o resultado de equipe_a.union(equipe_b).

  • O que acontece: O método .union() junta tudo o que está nos dois conjuntos (A + B).
  • O nome: Chamar de tarefas_iguais dá a entender que você pegou apenas o que as duas equipes têm em comum (interseção), mas na verdade você pegou a lista completa consolidada.
  • Sugestão: Mudar o nome para tarefas_consolidadas, todas_tarefas ou lista_unificada. Isso evita confusão numa leitura futura do código.

O código com esse pequeno ajuste de nome para ficar 100% coerente:

equipe_a = set()
equipe_b = set()

# ... (seus loops de entrada estão ótimos!) ...

# Ajuste no nome da variável para refletir a União (tudo junto)
tarefas_consolidadas = equipe_a.union(equipe_b) 

while True:
    print(f"\nTarefas atuais: {tarefas_consolidadas}") # Adicionei uma quebra de linha para visualizar melhor
    remover_tarefa = input('Digite a tarefa que deseja remover (ou "sair"): ').lower().strip()
    
    if remover_tarefa == 'sair':
        break

    if remover_tarefa in tarefas_consolidadas:
        tarefas_consolidadas.remove(remover_tarefa)
        print(f"'{remover_tarefa}' removida com sucesso.")
    else:
        print("Essa tarefa não está na lista.")

De resto, a lógica do while, do .update() e do .remove() está perfeita. Continue assim, explorando novas formas de resolver os problemas!

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