Questão de Programação — Linguagens de programação — CESPE / CEBRASPE 2025
Programação›Linguagens de programação
Código
ce194798
Banca
CESPE / CEBRASPE
Órgão
ANM
Ano
2025
Nível
Superior
Cargo
Especialista em Recursos Minerais - Especialidade: Geologia, Geografia, Geofísica, Engenharia de Minas, Agrônoma, Florestal, Civil, Ambiental, Arquitetura ou Tecnologia da Informação
Julgue o item a seguir, relativo ao código Python precedente.O operador | pode ser utilizado para realizar a união de dois conjuntos, retornando um novo conjunto com os elementos combinados sem duplicatas.
CCerto
EErrado
Revelar gabarito e comentário▾
GabaritoC — Certo
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Operadores de conjuntos em Python: união com |
Gabarito: letra C (CERTO). Em Python, o operador | aplicado a dois conjuntos (set) realiza a operação de união, retornando um novo conjunto contendo todos os elementos de ambos, sem duplicatas. O código do enunciado ilustra exatamente isso com uniao = pares | impares, e a afirmação está correta.
O que está em jogo aqui é o comportamento dos operadores de conjuntos em Python. Diferentemente de outras linguagens, Python oferece operadores dedicados para as operações clássicas da teoria de conjuntos: | para união, & para interseção, - para diferença e ^ para diferença simétrica. Esses operadores funcionam exclusivamente com o tipo set (e também com frozenset), e o resultado é sempre um novo conjunto, sem modificar os originais.
No código apresentado, temos dois conjuntos: pares = {2, 4, 6, 8} e impares = {1, 3, 5, 7}. A linha uniao = pares | impares cria um novo conjunto com todos os elementos de ambos: {1, 2, 3, 4, 5, 6, 7, 8}. Como conjuntos não permitem elementos repetidos, qualquer duplicata seria automaticamente eliminada. O operador | é, portanto, o equivalente direto do método .union(), que também retorna um novo conjunto.
É importante notar que o operador | não se confunde com o operador lógico or. Enquanto | é um operador bit a bit (bitwise OR) para números inteiros e um operador de união para conjuntos, or é um operador lógico que avalia a veracidade dos operandos. No contexto de conjuntos, | tem um significado específico e bem definido, que é exatamente o que a questão descreve.
A pegadinha que a banca poderia explorar aqui é a confusão entre o operador | (união) e o operador & (interseção). Enquanto | combina todos os elementos, & retorna apenas os elementos que estão presentes em ambos os conjuntos. No código, interseccao = pares & impares resultaria em um conjunto vazio, pois não há elementos comuns entre pares e ímpares. A distinção entre esses dois operadores é fundamental para resolver questões sobre conjuntos em Python.
Guarde essa distinção: | é união (tudo junto), & é interseção (só o que está nos dois). É exatamente nessa fronteira que as questões sobre operadores de conjuntos costumam se dividir.
Operadores de conjuntos (Python): | (união) (Todos os elementos combinados, Sem duplicatas, Equivale a .union()); & (interseção) (Só elementos em ambos, Equivale a .intersection()); - (diferença) (Elementos só no primeiro, Equivale a .difference()); ^ (diferença simétrica) (Elementos em um ou outro, não em ambos, Equivale a .symmetric_difference())
Alternativa C — ✅ CERTO ⟵ GABARITO
A afirmação está correta. O operador | em Python, quando aplicado a conjuntos, realiza a união, retornando um novo conjunto com todos os elementos combinados, sem duplicatas. Isso é confirmado pelo próprio código do enunciado, que usa uniao = pares | impares para combinar os dois conjuntos. O resultado seria {1, 2, 3, 4, 5, 6, 7, 8}, um novo conjunto com todos os elementos, sem repetições.
PEGA ESSA DICA!
Para fixar, lembre-se da correspondência entre operadores e métodos em Python: | equivale a .union(), & equivale a .intersection(), - equivale a .difference() e ^ equivale a .symmetric_difference(). Se a questão perguntar sobre união, procure pelo | ou pelo método .union().