1
resposta

Descobrindo palavras comuns entre dois textos

import os


def cabecalho(texto, char="-", largura=50, limpar=True):
    if limpar:
        os.system("cls" if os.name == "nt" else "clear")
    print(char * largura)
    print(texto.center(largura))
    print(char * largura)


def menu():
    cabecalho("Comparador Textual")
    print("1 - Comparar dois textos")
    print("2 - Sair")
    opcao = int(input("Escolha uma opção: "))
    try:
        if opcao == 1:
            comparar_textos()
        elif opcao == 2:
            print("Saindo...")
            exit()
        else:
            print("Opção inválida")
            menu()
    except ValueError:
        print("Opção inválida")
        menu()


def comparar_textos():
    cabecalho("Comparador de Textos")
    texto1 = set(input("Digite o primeiro texto: ").lower().split())
    texto2 = set(input("Digite o segundo texto: ").lower().split())

    resultado = texto1.intersection(texto2)
    resultado_ordenado = sorted(resultado)

    print(f" Palavras em comum ({len(resultado_ordenado)}):")
    print(f"   {', '.join(resultado_ordenado) if resultado_ordenado else 'Nenhuma'}")


def main():
    menu()


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

Olá, Daniel, como vai?

Seu código atende perfeitamente ao que foi solicitado no exercício e demonstra um ótimo domínio sobre a manipulação de strings e o uso de conjuntos em Python. A aplicação do método intersection para identificar os elementos em comum entre os dois sets é a abordagem mais eficiente e elegante para este problema. Além disso, a implementação de uma interface via terminal com menus e funções organizadas torna o programa muito mais interativo e profissional.

Parabéns por ir além da lógica básica e estruturar o projeto de forma tão cuidadosa.

Obrigado por compartilhar seu desenvolvimento conosco e continue praticando.

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