1
resposta

[Dúvida] Está conforme a atividade?

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...")
1 resposta

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.

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