texto_1 = set("O sol brilha forte no céu azul ".split())
texto_2 = set("O céu azul anuncia um dia de sol intenso ".split())
print("Palavras comuns:", texto_1.intersection(texto_2))
print("Encerrando o programa...")
texto_1 = set("O sol brilha forte no céu azul ".split())
texto_2 = set("O céu azul anuncia um dia de sol intenso ".split())
print("Palavras comuns:", texto_1.intersection(texto_2))
print("Encerrando o programa...")
Oii Samuel.
Sua resolução está correta quanto ao uso da lógica de conjuntos. Você aplicou perfeitamente o método .intersection() para cruzar os dados das duas listas.
Mas há um detalhe importante de tratamento de dados que faria diferença em um cenário real: a diferenciação entre maiúsculas e minúsculas (Case Sensitivity).
No seu exemplo, funcionou porque as palavras coincidiram exatamente. Mas imagine se no Texto 1 estivesse escrito "Sol" e no Texto 2 "sol". Para o Python, Sol (maiúsculo) é diferente de sol (minúsculo), e ele não consideraria como uma palavra comum.
Para tornar seu algoritmo mais confiável, a boa prática é transformar tudo para minúsculo antes de criar o conjunto. Basta adicionar o método .lower() antes do .split().
Veja como ficaria o ajuste:
# Adicionando .lower() para padronizar
texto_1 = set("O sol brilha forte no céu azul".lower().split())
texto_2 = set("O céu azul anuncia um dia de sol intenso".lower().split())
print("Palavras comuns:", texto_1.intersection(texto_2))
Dessa forma, você garante que "Sol", "sol" ou "SOL" sejam tratados como a mesma palavra.
Continue praticando, o uso de sets é muito poderoso para esse tipo de comparação.