Questões de Programação em Python e R
Questões de Programação em Python e R
Python, R e API
Questões Comentadas
Python
1- (CESPE - 2018 - Polícia Federal - Perito Criminal Federal - Conhecimentos
Básicos - Todas as Áreas) Com relação à programação Python e R, julgue o item que
segue.
Considere os seguintes comandos na programação em Python.
a = " Hello, World! "
print([Link]())
Esses comandos, quando executados, apresentarão o resultado a seguir.
a[0]=Hello,
a[1]=World!
Resolução:
A função strip() serve para remover os espaços em branco no início e no fim de uma
cadeia de caracteres (strings) e não para realizar a divisão das palavras.
Note que “ Hello, World! ” possui um espaço em branco no início e outro no fim. Logo, estes
espaços seriam removidos e o resultado deveria ser: “Hello, World!”.
O resultado apresentado na questão seria apresentado caso fosse utilizada a função split(),
que é a função aplicada para realizar a divisão de uma cadeia de caracteres.
Vejamos um resumo sobre as principais funções para strings em Python:
Função O que faz? Exemplo
a = "olá, mundo."
Retorna uma string com o
capitalize() print ([Link]()) #retorna "Olá,
primeiro caractere maiúsculo
mundo!"
a = "Eu amo python, python é muito
Retorna o número de vezes que
count() legal"
um valor aparece em uma string
print([Link]("python")) #retorna 2
a = "Eu amo python, python é muito
Retorna True se a string legal"
endswith()
terminar com um valor print([Link]("legal")) #retorna
True
a = "Eu amo python, python é muito
Retorna a posição da primeira legal"
find() ocorrência de um valor em uma print([Link]("amo")) #retorna 3
string ou -1 se não existir.
print([Link]("java")) #retorna -1
2
____________________________________
3
____________________________________
4
____________________________________
Resolução:
O comando já inicia com um erro ao tentar realizar a atribuição de valores na variável letras,
pois a atribuição deve ser realizada com = e não com ==, sendo este último o operador de
comparação para igualdade.
Em outras linguagens como o Java, os blocos de código são indicados por chaves ({ e }). Já
em python, o recuo é utilizado para essa finalidade. Assim, muito cuidado com a identação
do código em python, pois caso o código não esteja escrito com os recuos indicando
corretamente os blocos, ocorrerão erros.
Além disso, o comando for deve ser seguido dois pontos (:).
Portanto, o código correto seria:
letras = [“P”, “F”]
for x in letras:
print(x)
De todo modo, este comando geraria o seguinte resultado:
P
F
Gabarito: Errado.
5
____________________________________
▪ str(): constrói uma string a partir de uma ampla variedade de tipos de dados, incluindo
strings, inteiros e float.
x = str(2) #x será ‘2’
Gabarito: Certo.
6
____________________________________
Resolução:
Vamos entender o código usando os comentários do Python:
>>> a,b = 0,1 #Aqui a é criada com o valor 0 e b com o valor 1.
>>> while b < 10: #Loop while com condição b < 10.
print (b) #Exibir o valor de b.
a, b = b, a+b #a recebe o valor de b e b recebe o valor de a+b.
Agora vamos executar o código passo a passo:
Execução Valor de a Valor de Teste no Saída do print
b while
Criação das variáveis
a,b = 0,1 0 1 - -
1ª iteração no while
b < 10 (1 < 10) 0 1 True 1
a, b = b, a+b 1 1 - -
2ª iteração no while
b < 10 (1 < 10) 1 1 True 1
a, b = b, a+b 1 2 - -
3ª iteração no while
b < 10 (2 < 10) 1 2 True 2
a, b = b, a+b 2 3 - -
4ª iteração no while
b < 10 (2 < 10) 2 3 True 3
a, b = b, a+b 3 5 - -
5ª iteração no while
b < 10 (5 < 10) 3 5 True 5
a, b = b, a+b 5 8 - -
6ª iteração no while
b < 10 (8 < 10) 5 8 True 8
a, b = b, a+b 8 13 - -
7ª iteração no while
b < 10 (13 < 10) 8 13 False -
Gabarito: Certo.
7
____________________________________
A palavra-chave lambda é usada para criar o que é conhecido como funções anônimas.
Estas são essencialmente funções sem nome pré-definido. Eles são úteis para a construção
de funções adaptáveis e, portanto, úteis para a manipulação de eventos.
Vejamos um exemplo de uma função lambda:
minha_funcao = lambda i: i*2
print(minha_funcao(2))
Ao executar esses comandos, teremos o seguinte resultado exibido:
4
Gabarito: Errado.
8
____________________________________
9
____________________________________
10- (CESPE / CEBRASPE - 2010 - SERPRO - Analista - Redes) Julgue os itens que
se seguem, a respeito da linguagem Python, versão 3.1.
As terminações de linha em ASCII podem ser usadas em arquivos fonte na linguagem
Python, da mesma maneira e independentemente da plataforma.
Resolução:
Questão mais genérica!!!
O ASCII se refere a AMERICAN STANDARD CODE INTERNATIONAL
INTERCHANCE. O ASCII é um código binário (cadeias de bits: 0s e 1s) que codifica um
conjunto de 128 sinais: 95 sinais gráficos (letras do alfabeto latino, sinais de pontuação e
sinais matemáticos) e 33 sinais de controle, utilizando 7 bits para representar todos os seus
símbolos.
A questão basicamente pergunta se é possível escrever um código Python utilizando os
símbolos do ASCII. Isto é perfeitamente possível, pois uma das codificações mais utilizadas
nos teclados dos computadores é justamente essa.
Gabarito: Certo.
11- (CESPE - 2010 - SERPRO - Analista - Redes) Julgue os itens que se seguem, a
respeito da linguagem Python, versão 3.1.
Se, em qualquer linha do script Python, a expressão regular coding [=:] \s*([~\w.]+)
corresponder a um comentário, este será processado como uma declaração de codificação.
Resolução:
Nada que é escrito como comentário é processado.
Os comentários, como o próprio nome indica, são notas que podem ser incluídas no
código fonte para descrever algo que se deseje. Assim, não modificam o programa
executado e servem somente para ajudar o programador a melhor organizar os seus
códigos.
Gabarito: Errado.
12- (CESPE - 2010 - SERPRO - Analista - Redes) Julgue os itens que se seguem, a
respeito da linguagem Python, versão 3.1.
Uma função ou método que usa a instrução yield é denominada função geradora, a qual,
quando chamada, retoma um objeto Integer que pode ser usado para executar o corpo da
função no número de vezes retomado.
Resolução:
A instrução yield só pode ser usada dentro de uma função e funciona de forma similar a uma
instrução de retorno (return), com a diferença que o retorno é um generator.
10
____________________________________
Um generator é uma lista de dados que vão sendo consumidos sob demanda. Em geral, é
usado para dar melhores abstrações ao código. Ele retorna um valor mantendo o estado de
onde parou. Quando executa de novo ele continua de onde parou. Ele controla o estado de
um enumerador entre execuções da função.
Gabarito: Errado.
13- (CESPE - 2010 - SERPRO - Analista - Suporte Técnico) Acerca das linguagens
de programação, julgue os itens subsequentes.
As linguagens Perl e Python são dinamicamente tipadas, ou seja, o tipo da variável é
definido em tempo de execução. As linguagens C e Java são estaticamente tipadas, ou seja,
o tipo de variável é definido em tempo de compilação.
Resolução:
Em Python, as variáveis não precisam ser previamente declaradas e também não precisam
ser de um tipo particular, isto é, não precisam ser definidas para representar números,
caracteres, datas, etc. Dizemos que Python é uma linguagem dinamicamente tipada, pois
o tipo da variável é redefinido sempre que ocorrer uma nova atribuição de valor.
Gabarito: Certo.
Resolução:
Em Python, o pacote "re" fornece vários métodos para realizar consultas em uma string de
entrada. Veremos os métodos de re em Python:
A função [Link]() em Python pesquisará o padrão de expressão regular e retornará
a primeira ocorrência. O método Python RegEx Match verifica se há uma
correspondência apenas no início da string. Portanto, se uma correspondência for
encontrada na primeira linha, ele retornará o objeto de correspondência. Mas se uma
correspondência for encontrada em alguma outra linha, a função Python RegEx Match
retorna nulo.
11
____________________________________
12
____________________________________
R
16- (CESPE - 2018 - Polícia Federal - Agente de Polícia Federal) Julgue o próximo
item, relativo a noções de programação Python e R.
Considere o programa a seguir, escrito em R.
x <- TRUE y <- FALSE print (xy)
Após a execução do programa, será obtido o seguinte resultado.
[1] FALSE
Resolução:
Não existe variável xy no programa, por isso dará erro ao tentar exibir o valor dessa
variável na função print(xy).
Uma forma correta de executar esse programa seria:
x <- TRUE y <- FALSE print (x, y)
Ao executar esse comando, seria exibido o resultado:
true, false
Gabarito: Errado.
17- (CESPE - 2018 - Polícia Federal - Agente de Polícia Federal) Julgue o próximo
item, relativo a noções de programação Python e R.
Considere o programa a seguir, escrito em R.
x <- c (3, 5, 7)
y <- c (1, 9, 11)
print (x + y)
Após a execução do programa, será obtido o seguinte resultado.
[1] 36
Resolução:
No código apresentado temos a declaração de dois vetores x e y, cada um deles tendo 3
elementos.
Ao realizar a soma destes vetores, ocorrerá a soma dos elementos que estão na mesma
posição. Logo, o resultado será:
[1] 4 14 18
Gabarito: Errado.
13
____________________________________
14
____________________________________
API
19- (CESPE - 2020 - TJ-PA - Analista Judiciário - Programador) Assinale a opção
que indica a denominação dada ao conjunto de drivers, API ou outro software que melhora
a conectividade entre uma aplicação cliente e um servidor.
a) middleware
b) cliente
c) banco de dados relacional
d) servidor
e) SQL
Resolução:
Middleware é o software de computador que fornece serviços e recursos comuns a
aplicações. Com o midlleware, os desenvolvedores podem criar aplicações com mais
facilidade e eficiência, pois esse tipo de software tem o papel de conectar aplicações, dados
e usuários.
Gabarito: Letra A.
15
____________________________________
16
____________________________________
Lista de Questões
Python
1- (CESPE - 2018 - Polícia Federal - Perito Criminal Federal - Conhecimentos
Básicos - Todas as Áreas) Com relação à programação Python e R, julgue o item que
segue.
Considere os seguintes comandos na programação em Python.
a = " Hello, World! "
print([Link]())
Esses comandos, quando executados, apresentarão o resultado a seguir.
a[0]=Hello,
a[1]=World!
17
____________________________________
18
____________________________________
10- (CESPE / CEBRASPE - 2010 - SERPRO - Analista - Redes) Julgue os itens que
se seguem, a respeito da linguagem Python, versão 3.1.
As terminações de linha em ASCII podem ser usadas em arquivos fonte na linguagem
Python, da mesma maneira e independentemente da plataforma.
11- (CESPE - 2010 - SERPRO - Analista - Redes) Julgue os itens que se seguem, a
respeito da linguagem Python, versão 3.1.
Se, em qualquer linha do script Python, a expressão regular coding [=:] \s*([~\w.]+)
corresponder a um comentário, este será processado como uma declaração de codificação.
19
____________________________________
12- (CESPE - 2010 - SERPRO - Analista - Redes) Julgue os itens que se seguem, a
respeito da linguagem Python, versão 3.1.
Uma função ou método que usa a instrução yield é denominada função geradora, a qual,
quando chamada, retoma um objeto Integer que pode ser usado para executar o corpo da
função no número de vezes retomado.
13- (CESPE - 2010 - SERPRO - Analista - Suporte Técnico) Acerca das linguagens
de programação, julgue os itens subsequentes.
As linguagens Perl e Python são dinamicamente tipadas, ou seja, o tipo da variável é
definido em tempo de execução. As linguagens C e Java são estaticamente tipadas, ou seja,
o tipo de variável é definido em tempo de compilação.
20
____________________________________
R
16- (CESPE - 2018 - Polícia Federal - Agente de Polícia Federal) Julgue o próximo
item, relativo a noções de programação Python e R.
Considere o programa a seguir, escrito em R.
x <- TRUE y <- FALSE print (xy)
Após a execução do programa, será obtido o seguinte resultado.
[1] FALSE
17- (CESPE - 2018 - Polícia Federal - Agente de Polícia Federal) Julgue o próximo
item, relativo a noções de programação Python e R.
Considere o programa a seguir, escrito em R.
x <- c (3, 5, 7)
y <- c (1, 9, 11)
print (x + y)
Após a execução do programa, será obtido o seguinte resultado.
[1] 36
21
____________________________________
API
19- (CESPE - 2020 - TJ-PA - Analista Judiciário - Programador) Assinale a opção
que indica a denominação dada ao conjunto de drivers, API ou outro software que melhora
a conectividade entre uma aplicação cliente e um servidor.
a) middleware
b) cliente
c) banco de dados relacional
d) servidor
e) SQL
22
____________________________________
Gabarito
1- Errado 6- Certo 11- Errado 16- Errado 21- Errado
2- Errado 7- Errado 12- Errado 17- Errado 22- Errado
3- Errado 8- Certo 13- Certo 18- Certo 23- Errado
4- Errado 9- E 14- Errado 19- A
5- Certo 10- Certo 15- Errado 20- Certo
23