1
resposta

[Projeto] Solução

Tive certo problema para inserir os itens nas funções e também em relação a entrada dos itens, mas resolvi e aqui está o resultado:

lista_laura = set()
lista_ana = set()
excluir_item_l = set()
excluir_item_a = set()

def adicionar_item(item, lista_amiga):
    lista_amiga.add(item)
  

def itens_comuns():
    comuns = lista_laura.intersection(lista_ana)
    return comuns 

def excluir_item(item, lista_amiga, lista_e):
    if item in lista_amiga:
        lista_e.add(item)
        lista_amiga.remove(item)
        
    else:
        print(f"{item} não foi encontrado! ")

def main():
    while True:
        print('\nMenu das Listas: ')
        print('[1] Criar Lista Amiga')
        print('[2] Excluir Itens')
        print('[3] Itens Comuns')
        print('[4] Sair')
        escolha = input('Escolha uma opção: ')

        if escolha == '1':
            while True: 
                print('\nQual lista deseja adicionar itens?')
                print('[1] Laura')
                print('[2] Ana')
                print('[3] Voltar ao Menu Principal')
                lista_escolha = input('Escolha uma opção: ')

                if lista_escolha == '1':
                    entrada = input("Digite o item para a lista da Laura: ")

                    itens = [i.strip().title() for i in entrada.split(",")]

                    for item in itens:
                        adicionar_item(item, lista_laura)
                    print(f'Itens adicionados à lista da Laura: {lista_laura}')
                elif lista_escolha == '2':
                    entrada2 = input("Digite o item para a lista da Ana: ")

                    itens = [i.strip().title() for i in entrada2.split(",")]

                    for item in itens:
                        adicionar_item(item, lista_ana)
                    print(f'Itens adicionados à lista da Laura: {lista_ana}')
                  
                elif lista_escolha == '3':
                    break

                else:
                    print("Opção inválida. Tente novamente.")
                    continue
        elif escolha == '2':
            while True:
                print('\nDe qual lista deseja excluir itens?')
                print('[1] Laura')
                print('[2] Ana')
                print('[3] Voltar ao Menu Principal')
                lista_escolha = input('Escolha uma opção: ')

                if lista_escolha == '1':
                    item = input("Digite o item para excluir da lista da Laura: ").strip().title()
                    excluir_item(item, lista_laura, excluir_item_l)
                    print(f'Itens excluídos da lista da Laura: {excluir_item_l}')
                elif lista_escolha == '2':
                    item = input("Digite o item para excluir da lista da Ana: ").strip().title()
                    excluir_item(item, lista_ana, excluir_item_a)
                    print(f'Itens excluídos da lista da Ana: {excluir_item_a}')
                elif lista_escolha == '3':
                    break
                else:
                    print("Opção inválida. Tente novamente.")
                    continue
        elif escolha == '3':
            print(f"Os itens comuns a ambas as listas são: {itens_comuns()}")
        
        elif escolha == '4':
            print("Encerrando o programa.")
            break 

        else:
            print("Opção inválida. Tente novamente.") 

if __name__ == "__main__":
    main()
1 resposta

Olá, Vitor, como vai?

O seu código demonstra um bom domínio sobre a manipulação de conjuntos. A utilização do método intersection para identificar elementos comuns e o tratamento de strings com strip e title garantem que a comparação ocorra de forma precisa, independentemente de espaços extras ou variações na capitalização das letras. O uso de listas auxiliares para registrar os itens removidos foi uma adição interessante ao comportamento solicitado originalmente.

Apenas como observação técnica, notei que no trecho onde os itens são adicionados à lista da Ana, a mensagem exibida no print refere-se à lista da Laura, embora a variável utilizada esteja correta.

Parabéns pelo desenvolvimento do projeto e por compartilhar sua solução no fórum. Continue praticando e postando seus avanços por aqui.

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