Questão de Programação — Python — INSTITUTO AOCP 2023
- Código
- qq971351
- Banca
- INSTITUTO AOCP
- Órgão
- IF-MA
- Ano
- 2023
- Nível
- Médio
- Cargo
- Técnico Em Tecnologia Da Informação
- Aint(x)
- Blen(x)
- Clist(x)
- Dtype(x)
- Ecomplex(x)
GabaritoA — int(x)
Gabarito: letra A. A função int(x) é a única, entre as listadas, que converte um número ou uma string contendo um inteiro em um valor do tipo inteiro (int), atendendo exatamente ao que Mauro precisa. As demais funções (len, list, type, complex) não realizam essa conversão: len retorna o tamanho de uma sequência, list converte um iterável em lista, type retorna o tipo do objeto e complex cria um número complexo.
Em Python, a conversão de tipos (também chamada de casting) é uma operação fundamental. A função int() é o construtor da classe int e, quando chamada com um argumento, tenta convertê-lo para um inteiro. Se o argumento for um número (inteiro ou float), ela retorna a parte inteira (truncando a parte decimal). Se for uma string, ela a interpreta como um número inteiro, desde que a string contenha apenas dígitos (e opcionalmente um sinal). Por exemplo, int("42") retorna o inteiro 42, e int(3.99) retorna 3. Essa é a função clássica para garantir que um valor recebido como texto, como o que viria de um input(), seja tratado como número.
As outras funções listadas têm propósitos bem distintos:
len(x) retorna o número de itens de uma sequência (string, lista, tupla, etc.). Não converte nada; apenas mede.
list(x) converte um iterável (como uma string, tupla ou range) em uma lista. Por exemplo, list("abc") retorna ['a', 'b', 'c'].
type(x) retorna o tipo do objeto x, como <class 'int'> ou <class 'str'>. É usada para inspeção, não para conversão.
complex(x) cria um número complexo. Se x for um número real, retorna x + 0j; se for uma string, tenta interpretá-la como um número complexo.
A pegadinha desta questão está em reconhecer que o enunciado pede uma função que retorne um inteiro a partir de um número ou string. Muitos candidatos podem se confundir com type(x), que apenas informa o tipo, ou com len(x), que retorna um inteiro, mas não converte o valor de entrada — len retorna o tamanho, não o valor convertido. A função int() é a única que faz a conversão direta para o tipo inteiro.
Na prática, em um sistema de controle de estoque, é comum receber dados via input(), que sempre retorna strings. Para realizar cálculos, é necessário converter esses valores com int() ou float(). Por exemplo:
quantidade = input("Digite a quantidade: ") # retorna uma string
quantidade_int = int(quantidade) # converte para inteiroSem essa conversão, tentar somar quantidade com um número geraria um erro de tipo (TypeError), pois não é possível concatenar string com inteiro diretamente.
Guarde a distinção: converter (mudar o tipo de um valor) é diferente de medir (len), inspecionar (type) ou criar um novo tipo (list, complex). É exatamente essa fronteira que separa a alternativa correta das demais.
A função int(x) é o construtor da classe int e converte o argumento x em um número inteiro. Se x for uma string contendo um inteiro (como "123"), ela retorna o inteiro correspondente. Se for um número de ponto flutuante, retorna a parte inteira (truncando). É exatamente o que o enunciado pede: receber um número ou uma string com um inteiro e retornar um inteiro.
len(x) retorna o tamanho de uma sequência (string, lista, tupla, etc.). Embora retorne um inteiro, ela não converte o valor de entrada — apenas conta quantos elementos existem. Por exemplo, len("123") retorna 3, não o inteiro 123. Portanto, não atende ao requisito de conversão.
list(x) converte um iterável em uma lista. Por exemplo, list("123") retorna ['1', '2', '3'], uma lista de caracteres, não um inteiro. Não há conversão para o tipo int.
type(x) retorna o tipo do objeto x, como <class 'int'> ou <class 'str'>. É uma função de inspeção, não de conversão. Ela não retorna um inteiro a partir do valor; apenas informa qual é o tipo do valor.
complex(x) cria um número complexo. Se x for um inteiro, retorna x + 0j; se for uma string, tenta interpretá-la como um número complexo (ex.: complex("1+2j")). O resultado nunca é um inteiro puro, mas um número complexo, portanto não atende ao pedido.
Gabarito: letra A — a função int(x) é a única que converte um número ou string contendo um inteiro em um valor inteiro, como exige o enunciado.
Link permanente: /questoes/qq971351