Questão de Programação — Linguagens de programação — CESPE / CEBRASPE 2025
Programação›Linguagens de programação
Código
ce194807
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
Considerando o script Python que precedente, julgue o próximo item.O comando print(f”O dobro do número digitado é: {numero_convertido * 2}”) pode ser reescrito como print(“O dobro do número digitado é: “ + numero_convertido * 2), sem causar erro.
CCerto
EErrado
Revelar gabarito e comentário▾
GabaritoE — Errado
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: concatenação de strings e f-strings
Gabarito: letra E (ERRADO). A reescrita proposta causaria erro, pois o operador + em Python não pode concatenar uma string com um número (float). A f-string original converte automaticamente o valor numérico para string, enquanto a concatenação com + exige que ambos os operandos sejam strings. Essa é a distinção central que a questão explora.
O código apresentado utiliza uma f-string (formatação de string) para exibir o dobro de um número digitado pelo usuário. F-strings, introduzidas no Python 3.6, permitem embutir expressões diretamente dentro de chaves {} em uma string, e o Python converte automaticamente o resultado da expressão para string. No comando original, {numero_convertido * 2} é avaliado como um número (float) e, em seguida, convertido para string pelo mecanismo da f-string, permitindo a exibição correta.
A reescrita proposta usa o operador + para concatenar uma string literal com o resultado da expressão numero_convertido * 2. Em Python, o operador + entre uma string e um número não é suportado — ele tenta somar os valores, mas como os tipos são diferentes (str e float), o interpretador lança um TypeError. Para que a concatenação funcionasse, seria necessário converter explicitamente o número para string usando a função str(), como em print("O dobro do número digitado é: " + str(numero_convertido * 2)).
A pegadinha da banca está em explorar a diferença entre a conversão automática de tipos nas f-strings e a exigência de tipos compatíveis na concatenação com +. O candidato que conhece apenas a sintaxe básica pode não perceber que a reescrita introduz um erro de tipo. É importante lembrar que, em Python, a concatenação de strings com + exige que todos os operandos sejam strings, enquanto as f-strings convertem automaticamente qualquer expressão para string.
Concatenação em Python
1f-string
Converte número para string automaticamente
Funciona com qualquer expressão
2Operador +
Erro se um operando for número (TypeError)
Exige conversão explícita com str()
LEVEL · soulevel.com.br
Alternativa E — ❌ Incorreta (gabarito)
A afirmação de que a reescrita pode ser feita sem causar erro é falsa. O comando print("O dobro do número digitado é: " + numero_convertido * 2) tentará concatenar uma string com um número, resultando em TypeError: can only concatenate str (not "float") to str. A f-string original, por outro lado, converte automaticamente o valor numérico para string, funcionando corretamente. Portanto, a reescrita proposta não é equivalente e causaria erro de execução.