1
resposta

minha solução

def pega_texto(numero: int) -> str:
    while True:
        try:
            texto = input(f"Digite o texto {numero}: ").lower().strip()
            if not texto:
                raise ValueError
            else:
                return texto
        except ValueError:
            print("O texto não pode ser vazio.")

separa_palavras = lambda texto: set(texto.split())

compara_conjuntos = lambda a, b: a.intersection(b)

def apresenta_palavras(conjunto: set) -> None:
    print(f"Palavras em comum: {", ".join(conjunto)}")

if __name__ == "__main__":
    texto1 = pega_texto(1)
    texto2 = pega_texto(2)
    palavras1 = separa_palavras(texto1)
    palavras2 = separa_palavras(texto2)
    palavras_comuns = compara_conjuntos(palavras1, palavras2)
    apresenta_palavras(palavras_comuns)
1 resposta

Olá, Gabriel, como vai?

O seu código soluciona o desafio de maneira muito eficiente e organizada. O uso de funções e expressões lambda demonstra um bom domínio sobre a modularização do código, garantindo que cada parte do programa tenha uma responsabilidade única. A implementação do tratamento de erros com o bloco try-except para evitar entradas vazias é uma excelente prática de programação, pois torna a interação com o usuário mais robusta e menos propensa a falhas inesperadas.

Parabéns pelo empenho em criar uma solução tão completa e continue compartilhando seus progressos com a comunidade.

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