Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — CESPE / CEBRASPE 2025

ProgramaçãoLinguagens de programação
Código
ce194803
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
Imagem da questão
Considerando o script Python que precedente, julgue o próximo item.A função sum(lista) somente pode ser usada em listas que contêm apenas números, pois a operação de soma não pode ser aplicada a listas com tipos mistos.
  1. CCerto
  2. 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”.

Python: função sum() e tipos de dados em listas

Gabarito: letra E (ERRADO). A afirmação está incorreta porque a função sum() em Python não se limita a listas que contêm apenas números — ela pode ser usada com qualquer iterável cujos elementos suportem a operação de adição (+), como listas de strings, listas de listas, entre outras. O que a função sum() exige é que os elementos sejam compatíveis com a operação de soma, não que sejam exclusivamente numéricos.

A função sum() é uma função embutida (built-in) do Python que recebe um iterável como argumento e retorna a soma de seus elementos. O funcionamento interno é simples: ela percorre o iterável e vai acumulando os valores usando o operador +. Isso significa que, para que a função funcione, os elementos precisam ser adicionáveis entre si — ou seja, o operador + deve estar definido para o tipo dos elementos.

Na prática, isso permite que sum() seja usada com listas de strings, concatenando-as:

lista_strings = ["Olá", " ", "mundo"]
resultado = sum(lista_strings, "")  # resultado: "Olá mundo"

Nesse caso, o segundo argumento (o valor inicial) é necessário porque a soma de strings não tem um elemento neutro natural como o 0 para números. Sem ele, a função tentaria somar a primeira string com 0, o que geraria um erro de tipo.

Também é possível usar sum() com listas de listas, concatenando-as:

lista_listas = [[1, 2], [3, 4]]
resultado = sum(lista_listas, [])  # resultado: [1, 2, 3, 4]

Aqui, o valor inicial [] (lista vazia) é usado para que a concatenação funcione corretamente.

Portanto, a afirmação de que sum() somente pode ser usada em listas com apenas números é falsa. A função é mais flexível e pode operar em qualquer iterável cujos elementos suportem a adição.

NÃO CAIA NESSA!

A banca tenta fazer o candidato acreditar que sum() é exclusiva para números, mas a função é genérica e funciona com qualquer tipo que suporte +. O erro comum é pensar que a função só aceita números, quando na verdade ela aceita qualquer iterável com elementos adicionáveis.

PEGA ESSA DICA!

Para identificar se sum() pode ser usada, pergunte-se: "os elementos deste iterável podem ser somados entre si?" Se sim, sum() funciona. Lembre-se de que, para tipos não numéricos, é necessário fornecer o valor inicial adequado.

Item — ❌ ERRADO

A afirmação está incorreta porque a função sum() não se restringe a listas de números. Ela pode ser usada com qualquer iterável cujos elementos suportem a operação de adição (+), como strings (concatenando) ou listas (concatenando). O requisito é a compatibilidade com a soma, não a exclusividade numérica.

Gabarito: letra E (ERRADO).

Link permanente: /questoes/ce194803