Buscar

21-nocoes-de-aplicacao-python

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 87 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 87 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 87 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Aula 00 
Curso: Informática – Teoria e Questões 
comentadas p/ TRF 
Professor: Gustavo Cavalcante Aula – Python e R 
Curso: Noções de Informática 
Professor: Ramon Souza 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 2 de 87 
www.exponencialconcursos.com.br 
 
 
ASSUNTOS PÁGINA 
1. API – Application Programming Interface ........................................... 4 
2. PROGRAMAÇÃO EM PYTHON ............................................................ 5 
2.1 Introdução ao Python ........................................................................ 5 
2.2 Instalação, inicialização e linha de comando ......................................... 8 
2.3 Sintaxe do Python ........................................................................... 10 
3. PROGRAMAÇÃO EM R .................................................................... 53 
3.1 Introdução ao R .............................................................................. 53 
3.2 Sintaxe básica ................................................................................ 54 
4. RISCO EXPONENCIAL .................................................................... 63 
5. LISTAS DE EXERCÍCIOS ................................................................ 82 
6. GABARITO ................................................................................... 87 
7. REFERÊNCIAS .............................................................................. 87 
 
 
 
Aula – Noções de programação python e R. API (application 
programming interface). 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 3 de 87 
www.exponencialconcursos.com.br 
Para facilitar sua referência, abaixo listamos as esquematizações desta aula: 
Esquema 1 – API. ........................................................................................................... 4 
Esquema 2 – Introdução ao Python. .................................................................................. 6 
Esquema 3 – Instalação do Python. ................................................................................... 8 
Esquema 4 – Identação em Python. ................................................................................. 10 
Esquema 5 – Comentários em Python. .............................................................................. 11 
Esquema 6 – Docstrings em Python. ................................................................................ 11 
Esquema 7 – Variáveis em Python ................................................................................... 13 
Esquema 8 – Nomes das variáveis em Python. .................................................................. 14 
Esquema 9 – Comando print e operador +. ....................................................................... 16 
Esquema 10 – Números em Python. ................................................................................. 17 
Esquema 11 – Casting em Python. ................................................................................... 18 
Esquema 12 – Strings em Python. ................................................................................... 20 
Esquema 13 – Principais funções para strings em Python. ................................................... 21 
Esquema 14 – Operadores em Python. ............................................................................. 26 
Esquema 15 – Coleções em Python. ................................................................................. 28 
Esquema 16 – Principais funções para listas em Python. ..................................................... 31 
Esquema 17 – Principais funções para tuplas em Python. .................................................... 34 
Esquema 18 – Principais funções para conjuntos em Python. ............................................... 35 
Esquema 19 – Principais funções para dicionários em Python. ............................................. 37 
Esquema 20 – Condições em Python. ............................................................................... 39 
Esquema 21 – Loop com while em Python. ........................................................................ 41 
Esquema 22 – Loop com for em Python. ........................................................................... 45 
Esquema 23 – Funções em Python. .................................................................................. 48 
Esquema 24 – Orientação a objetos em Python. ................................................................ 52 
Esquema 25 – Linguagem R. ........................................................................................... 53 
Esquema 26 – R como calculadora. .................................................................................. 54 
Esquema 27 – Objetos em R. .......................................................................................... 56 
Esquema 28 – Vetores, Matrizes, Fatores e Listas em R. ..................................................... 59 
Esquema 29 – Gráficos em R. .......................................................................................... 62 
 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 4 de 87 
www.exponencialconcursos.com.br 
1. API – Application Programming Interface 
 
Uma API (Application Programming Interface ou Interface de 
Programação de Aplicativos) é um conjunto de rotinas e padrões de 
programação para acesso a um aplicativo de software ou plataforma 
baseado na Web. 
Uma API é criada quando uma empresa de software tem a intenção de 
que outros criadores de software desenvolvam produtos associados ao 
seu serviço. Existem vários deles que disponibilizam seus códigos e instruções 
para serem usados em outros sites da maneira mais conveniente para seus 
usuários. O Google Maps é um dos grandes exemplos na área de APIs. Por meio 
de seu código original, muitos outros sites e aplicações utilizam os dados do 
Google Maps adaptando-o da melhor forma a fim de utilizar esse serviço. 
Através das APIs, os aplicativos podem se comunicar uns com os 
outros sem conhecimento ou intervenção dos usuários. Elas funcionam 
através da comunicação de diversos códigos, definindo comportamentos 
específicos de determinado objeto em uma interface. A API liga as diversas 
funções em um site de maneira que possam ser utilizadas em outras aplicações. 
 
 Vamos usar um esquema para fixar as APIs: 
 
Esquema 1 – API. 
API - Application Programming Interface ou 
Interface de Programação de Aplicativos 
Conjunto de rotinas e padrões de programação 
para acesso a um aplicativo de software ou 
plataforma 
Intenção de que outros criadores de software 
desenvolvam produtos associados ao seu serviço
Aplicativos podem se comunicar uns com os outros 
sem conhecimento ou intervenção dos usuários
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 5 de 87 
www.exponencialconcursos.com.br 
2. PROGRAMAÇÃO EM PYTHON 
 
2.1 Introdução ao Python 
Python é uma linguagem de programação popular que foi criada em 
1991 por Guido van Rossum. O Python pode ser usado: 
▪ Em um servidor para criar aplicativos da web. 
▪ Junto com o software para criar fluxos de trabalho. 
▪ Se conectar a sistemas de banco de dados. Também pode ler e 
modificar arquivos. 
▪ Para manipular dados grandes e executar matemática complexa. 
▪ Para prototipagem rápida ou para desenvolvimento de software 
pronto para produção. 
O Python apresenta algumas vantagens em relação a outras linguagens 
de programação. Vejamos as principais: 
▪ Funciona em diferentes plataformas (Windows, Mac, Linux, Raspberry 
Pi, etc). 
▪ Possui uma sintaxe simples semelhante ao idioma inglês. 
▪ Possui uma sintaxe que permite aos desenvolvedores escrever programas 
com menoslinhas do que algumas outras linguagens de programação. 
▪ É executado em um sistema interpretador, o que significa que o código 
pode ser executado assim que é escrito. Isso significa que a prototipagem 
pode ser muito rápida. 
▪ Pode ser tratado de maneira processual, orientada a objetos ou 
funcional. 
A versão principal mais recente do Python é o Python 3, que usaremos 
neste tutorial. No entanto, o Python 2, embora não seja atualizado com nada 
além de atualizações de segurança, ainda é bastante popular. 
Os programas em Python podem ser escritos em um editor de texto ou 
um Ambiente de Desenvolvimento Integrado (IDE), como Thonny, Pycharm, 
Netbeans ou Eclipse. 
É importante ressaltar que a sintaxe do Python possui algumas diferenças 
em comparação com outras linguagens de programação. Vejamos: 
▪ O Python foi projetado para facilitar a leitura e possui algumas 
semelhanças com o idioma inglês com influência da matemática. 
▪ O Python usa novas linhas para concluir um comando, ao contrário 
de outras linguagens de programação que usam frequentemente ponto e 
vírgula ou parênteses. 
▪ O Python depende do recuo (identação), usando espaço em branco, 
para definir o escopo; como o escopo de loops, funções e classes. Outras 
linguagens de programação costumam usar chaves para esse propósito.
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 6 de 87 
www.exponencialconcursos.com.br 
Vamos esquematizar os principais conceitos iniciais sobre o Phyton: 
 
Esquema 2 – Introdução ao Python. 
 
P
y
th
o
n
Usado para
criar aplicativos da web
criar fluxos de trabalho
conectar a sistemas de banco de dados
executar matemática complexa
prototipagem rápida ou para 
desenvolvimento de software pronto 
Vantagens
diferentes plataformas 
sintaxe simples 
menos linhas
sistema interpretador
processual, orientada a objetos ou 
funcional
Diferenças na sintaxe
semelhanças com o idioma inglês com 
influência da matemática
novas linhas para concluir um comando
depende do recuo (identação)
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 7 de 87 
www.exponencialconcursos.com.br 
Vejamos como esses conceitos iniciais são cobrados: 
1- (CESPE - 2011 - Correios - Analista de Correios - 
Analista de Sistemas - Desenvolvimento de Sistemas) Com relação aos 
sistemas de suporte a decisão e gestão de conteúdo, julgue os seguintes itens. 
A linguagem Python e seu interpretador estão disponíveis para as mais diversas 
plataformas. Para que seja usado em determinado sistema operacional não 
suportado, é possível gerar o Python a partir do programa fonte utilizando um 
compilador C. Nesse caso, o código fonte é traduzido para o formato bytecode, 
que é multiplataforma e pode ser distribuído de forma independente. 
Resolução: 
A linguagem Python é interpretada e pode ser usada em diversos sistemas 
operacionais. Estas são justamente duas das vantagens dessa linguagem. 
A linguagem e seu interpretador estão disponíveis para as mais diversas 
plataformas, desde Unix (Linux, FreeBSD, Solaris, MacOS X, etc.), Windows, 
.NET, versões antigas de MacOS até consoles de jogos eletrônicos ou mesmo 
alguns celulares, como a série 60, N8xx(PyMaemo) da Nokia e palmtops. 
Caso seja necessário executar um programa Python em um sistema operacional 
não suportado, podemos utilizar um compilador na linguagem de programação 
C para gerar o Python a partir do seu código fonte. O código fonte é traduzido 
pelo interpretador para o formato bytecode, que é multiplataforma e pode ser 
executado e distribuído sem fonte original. 
Gabarito: Certo. 
 
2- (CESPE - 2008 - SERPRO - Analista - 
Desenvolvimento de Sistemas) Com relação às linguagens, julgue os itens a 
seguir. 
Python é uma linguagem livre de alto nível, orientada a objetos e de difícil 
leitura, pois não permite identação de linhas de código. 
Resolução: 
Nesta questão, temos algumas características que estão erradas. Vejamos: 
Python é uma linguagem livre de alto nível, orientada a objetos (funcional ou 
processual) e de difícil simples leitura, pois não permite e que depende da 
identação de linhas de código. 
Gabarito: Errado. 
 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 8 de 87 
www.exponencialconcursos.com.br 
2.2 Instalação, inicialização e linha de comando 
Instalação do python 
O Python já vem instalado em muitos computadores, sejam eles 
PCs ou Macs. Para verificar se o python está instalado: 
 
▪ No Windows: pesquise na barra de início do Python ou execute o 
seguinte na linha de comando (cmd.exe): 
C:\Usuários\Seu Nome>python --version 
 
▪ No Linux ou Mac: abra a linha de comando no Linux ou o Terminal 
no Mac e digite: 
python --version 
 
Se o python não estiver instalado no seu computador, é possível baixá-
lo gratuitamente no seguinte site: https://www.python.org/. 
 
 
Esquema 3 – Instalação do Python. 
 
 
Gratuito
Disponível em https://www.python.org/
Para verificar a instalação
Windows
cmd.exe 
C:\Usuários\Seu Nome>python --version
Linux ou Mac
Linha de comando ou Terminal
python --version
Python
Já vem instalado em muitos computadores
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 9 de 87 
www.exponencialconcursos.com.br 
Inicialização do Python 
O Python é uma linguagem de programação interpretada, isso 
significa que, como desenvolvedor, você escreve arquivos Python (.py) em 
um editor de texto e coloca esses arquivos no interpretador python a ser 
executado. 
A maneira de executar um arquivo python é assim na linha de comando: 
C:\Usuários\Seu Nome>python helloworld.py 
Onde "helloworld.py" é o nome do seu arquivo python. 
 
Geralmente quando estudamos qualquer linguagem de programação, 
escrevemos um programa básico só para vê-lo funcionar. Esse programa é bem 
simples e tem a função de apresentar um texto na tela dando Olá para o mundo. 
Vejamos a sintaxe para escrever esse programa: 
print (“Hello, World!”) 
 Ao executar esse programa teremos: 
 
 
Linha de comando do python 
Através da linha de comando, é possível testar um trecho de código em 
python sem a necessidade de escrever em um editor de texto ou em uma IDE. 
Para isso, digite o seguinte na linha de comando do Windows, Mac ou Linux: 
C:\Usuários\Seu Nome>python 
A partir daí, você pode escrever qualquer python, incluindo nosso 
exemplo de hello world anterior no tutorial: 
 
Sempre que você terminar na linha de comando do python, você pode 
simplesmente digitar o seguinte para sair da interface de linha de comando do 
python: 
exit() 
 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 10 de 87 
www.exponencialconcursos.com.br 
2.3 Sintaxe do Python 
 O Python possui algumas regras interessantes sobre a sua sintaxe, isto 
é, sobre os elementos que compõem a sua linguagem e sobre a relação entre 
esses elementos. 
 
Identação (ou recuo) em Python 
 A principal dessas regras é sobre a identação, ou seja, sobre o recuo 
aplicado as linhas dos códigos. Enquanto em outras linguagens de programação 
o recuo no código é apenas para facilitar a leitura, em Python o recuo é muito 
importante, pois é usado para indicar um bloco de código. Um bloco de 
código indica um conjunto de instruções. 
 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. 
Vejamos o seguinte código: 
if 5 > 2: 
print("Five is greater than two!") 
Neste código, o recuo utilizado para a instrução print indicaque ela faz 
parte do mesmo bloco de código da instrução if. 
Caso não seja adotado o recuo, teremos probremas: 
if 5 > 2: 
print("Five is greater than two!") 
Neste caso, o python irá retornar um erro: 
IndentationError: expected an indented block 
 Assim, temos que: 
 
Esquema 4 – Identação em Python. 
Recuo (ou identação) indica 
blocos de código
Se não houver indicação correta 
dos recuros ocorrerá erro 
IndentationError 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 11 de 87 
www.exponencialconcursos.com.br 
Comentários e docstrings em Python 
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. 
No Python, os comentários começam com #. 
#Isto é um comentário. 
print("Hello, World!") 
 
 
Esquema 5 – Comentários em Python. 
Os comentários podem ser usados para documentação do código, mas o 
Python também estendeu essa documentação por meio das docstrings. 
 As docstrings podem ser de uma linha ou multilinha e iniciam e 
terminam com aspas triplas. Também não modificam o programa 
executado. 
"""Isto é uma 
docstring multilinha.""" 
print("Hello, World!") 
 
 
Esquema 6 – Docstrings em Python. 
Comentários 
em Python
Notas 
incluídas no 
programa
Começam 
com #
Não 
modificam o 
programa 
executado
Docstring
Extensão da 
documentação
Uma linha ou 
multilinha
Início e fim com 
aspas triplas
Não modificam o 
programa executado
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 12 de 87 
www.exponencialconcursos.com.br 
3- (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. 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 13 de 87 
www.exponencialconcursos.com.br 
Variáveis em Python 
 Na programação, uma variável é um objeto (uma posição, 
frequentemente localizada na memória) capaz de reter e representar um 
valor ou expressão. Enquanto as variáveis só "existem" em tempo de 
execução, elas são associadas a "nomes", chamados identificadores, durante o 
tempo de desenvolvimento. 
Uma variável pode ser representada por uma letra (a, b, x, y) ou por um 
nome (salario, cidade, cpf). Algumas linguagens requerem que as variáveis 
sejam declaradas antes de serem usadas, o que não ocorre com o Python, em 
que as variáveis são criadas no momento em que é atribuído um valor 
para elas. 
O código a seguir ilustra a criação de uma variável x que recebe o valor 
5 e da variável y que recebe o valor “John”. 
x = 5 
y = "John" 
 Como dito, 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. Vejamos 
um código comentado para entender melhor essa questão das variáveis: 
x = 4 # x é variável criada com o valor 4 e portanto é do tipo int. 
x = "Sally" # x é agora variável do tipo str com o valor “Sally”. 
print(x) 
 Em Python, podemos atribuir valores a mais de uma variável ao mesmo 
tempo, basta colocar as variáveis separadas por vírgulas, o sinal de atribuição 
e os valores também separados por vírgulas. Assim, 
x, y = 5, “John” #x é criada com o valor 5 e y com o valor “John” 
 
 
Esquema 7 – Variáveis em Python 
Variáveis
Representa um valor ou 
expressão
Em Python, criadas no momento em 
que é atribuído um valor para elas
Não são declaradas previmente e nem possuem 
tipo pré-definido, sendo dinamicamente tipadas
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 14 de 87 
www.exponencialconcursos.com.br 
Uma variável pode ter um nome abreviado (como xey) ou um nome mais 
descritivo (idade, nome_do_funcionario, volume_total) e seguem as seguintes 
regras: 
▪ Um nome de variável deve começar com uma letra ou o caractere 
de sublinhado. 
▪ Um nome de variável não pode começar com um número. 
▪ Um nome de variável pode conter apenas caracteres 
alfanuméricos e sublinhados (A-z, 0-9 e _). 
▪ Os nomes das variáveis são case-sensitive, isto é, fazem distinção 
entre maiúsculas e minúsculas (idade, Idade e IDADE são três 
variáveis diferentes). 
 
Vamos dar alguns exemplos de nomes de variáveis válidos e inválidos: 
Nomes válidos Nomes inválidos 
cidade, _cidade 9cidade, 9_cidade 
cidade2000, cidade_2000 cidade2000*, cidade_14% 
Cidade, cidade, CIDADE CID@DE 
 
 Vamos esquematizar as regras para os nomes das variáveis: 
 
Esquema 8 – Nomes das variáveis em Python. 
Nomes 
das 
variáveis
Começar com 
letra ou _
Não pode 
começar com 
número
Apenas 
caracteres 
alfanuméricos 
e sublinhados 
(A-z, 0-9 e _)
São case-
sensitive
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 15 de 87 
www.exponencialconcursos.com.br 
 O comando print do Python é frequentemente usado para exibir variáveis. 
Para combinar texto e uma variável, o Python usa o caractere +: 
x = “incrível” 
print(“Python é “ + x) 
 O resultado desse código será: 
Python é incrível 
 
 Também é possível usar o caractere + para adicionar uma variável a outra: 
x = “Python é ” 
y = “incrível” 
z = x + y 
print(z) 
 O resultado desse código será: 
Python é incrível 
 
 Para números, + funciona como um operador matemático de soma: 
x = 5 
y = 10 
print(x+y) 
 O resultado desse código será: 
15 
 
 Muito cuidado ao combinar cadeias de caracteres (strings) com números, 
pois poderá resultar em erro: 
x = 5 
y = “John” 
print(x+y) 
Neste caso, o python irá retornar um erro: 
TypeError: unsupported operand type(s) for +: 'int' and 'str' 
 
 
 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 16 de 87 
www.exponencialconcursos.com.br 
 Vamos esquematizar o comando print juntamente com o operador +: 
 
Esquema 9 – Comando print e operador +. 
 
 
print
String
"Python é "
+
String
"incrível"
String
"Python é 
incrível"
Número
10
Erro
TypeError
Número
5
+
Número
10
Soma
15
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 17 de 87 
www.exponencialconcursos.com.br 
Números em Python 
 Os números em Python podem ser representados com base em três tipos: 
▪ int: ou inteiro, é um número inteiro, positivo ou negativo, sem 
decimais, de comprimento ilimitado. Ex.: 1, 1354892, -12. 
▪ float: ou "número de ponto flutuante" é um número, positivo ou 
negativo, contendo uma ou mais casas decimais. Ex.: 1.10, -26.59, 
35e3 (e indica uma potência de 10). 
▪ complex: escritos com um "j" como a parte imaginária. Ex.: 3 + 5j, 
2j, -5j. 
 
 Lembre-se que os tipos são definidos de acordo com a atribuição dos 
valores. Logo, teremos: 
x = 5 #int 
y = 2.8 #float 
z = 1j #complex 
 
 É possível verificar o tipo de qualquer objeto em python, usando a função 
type(). Assim, tendo como base as variáveisacima e executando os seguintes 
comandos, 
print(type(x)) 
print(type(y)) 
print(type(z)) 
 O resultado será: 
 
 
 
Esquema 10 – Números em Python. 
int
Número inteiro, positivo 
ou negativo, sem 
decimais, de 
comprimento ilimitado
Ex.: 1, 1354892, -12.
float
Número, positivo ou 
negativo, contendo uma 
ou mais casas decimais
Ex.: 1.10, -26.59, 35e3 
(e indica uma potência 
de 10).
complex
Número complexo, 
escrito com um "j" como 
a parte imaginária. 
Ex.: 3 + 5j, 2j, -5j. 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 18 de 87 
www.exponencialconcursos.com.br 
Casting 
 Ainda que o Python seja uma linguagem dinamicamente tipada, algumas 
vezes precisamos especificar os tipos para as variáveis. Essa indicação 
ocorre por meio do casting, que em Python, é realizado por meio das seguintes 
funções: 
▪ int(): constrói um número inteiro a partir de um inteiro, um float 
(arredondando para baixo para o número inteiro anterior), ou uma string 
(fornecendo o inteiro que representa a string). 
x = int(1) #x será 1 
y = int(2.8) #y será 2 
z = int(“3”) #z será 3 
 
▪ float(): constrói um número float a partir de um inteiro, um float ou uma 
string (fornecendo o float que representa a string). 
x = float(1) #x será 1.0 
y = float(2.8) #y será 2.8 
z = float(“3”) #z será 3.0 
w = float (“4.2”) #w será 4.2 
 
▪ str(): constrói uma string a partir de uma ampla variedade de tipos de 
dados, incluindo strings, inteiros e float. 
x = str(“s1”) #x será ‘s1’ 
y = str(2) #y será ‘2’ 
z = str(3.0) #z será ‘3.0’ 
 
 
Esquema 11 – Casting em Python. 
Casting
int() float() str()
Especificar os 
tipos das 
variáveis
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 19 de 87 
www.exponencialconcursos.com.br 
4- (CESPE - 2013 - MPOG - Tecnologia da Informação) 
A expressividade do código é uma característica importante no desenvolvimento 
e manutenção de um software.Python e Ruby são exemplos de linguagens que 
apresentam essa qualidade.Acerca dessas linguagens,julgue os itens 
subsequentes. 
Em Python, o comando int("1") cria um objeto do tipo int, que recebe 1 como 
parâmetro no seu construtor. 
Resolução: 
Ainda que o Python seja uma linguagem dinamicamente tipada, algumas vezes 
precisamos especificar os tipos para as variáveis. Essa indicação ocorre por 
meio do casting. 
A função int() constrói um número inteiro a partir de um inteiro, um float 
(arredondando para baixo para o número inteiro anterior), ou uma string 
(fornecendo o inteiro que representa a string). Assim, 
x = int(1) #x será 1 
Gabarito: Certo. 
 
 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 20 de 87 
www.exponencialconcursos.com.br 
Strings 
Na programação de computadores, uma cadeia de caracteres ou 
string é uma sequência de caracteres, geralmente utilizada para 
representar palavras, frases ou textos de um programa. 
Em Python, uma string pode ser representada entre aspas simples ou 
aspas duplas: ‘olá’ ou “olá”. 
 Como muitas outras linguagens de programação populares, strings no 
Python são cadeias de bytes representando caracteres UNICODE. No entanto, o 
Python não tem um tipo de dados de caractere, um único caractere é 
simplesmente uma string com um comprimento de 1. 
 Os colchetes [] podem ser usados para acessar elementos específicos 
da string. 
a = “hello” 
print(a[1]) #retornará ‘e’ 
print (a[0:2]) #retornará ‘he’ 
 Tenha em mente que os elementos das strings começam do número 0, e 
por isso o código anterior retornou o valor ‘e’, pois a[1] representa o segundo 
elemento da string a. Do mesmo modo, podemos indicar também um intervalo 
de caracteres, sendo que em a[0:2] teremos o retorno dos elementos 0 e 1, ou 
seja, ‘he’. Em um intervalo, a posição final indicada não é incluída. 
 
Esquema 12 – Strings em Python. 
String 
em 
Python
Sequência de 
caracteres
Entre aspas 
simples (') ou 
duplas (")
Um caractere 
é uma string 
de tamanho 1
[] é usado 
para acessar 
elementos 
específicos
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 21 de 87 
www.exponencialconcursos.com.br 
 Outras funções aplicáveis a strings são apresentadas no quadro a seguir: 
Função O que faz? Exemplo 
capitalize() 
Retorna uma string com o 
primeiro caractere maiúsculo 
a = "olá, mundo." 
print (a.capitalize()) #retorna "Olá, mundo!" 
count() 
Retorna o número de vezes 
que um valor aparece em 
uma string 
a = "Eu amo python, python é muito legal" 
print(a.count("python")) #retorna 2 
endswith() 
Retorna True se a string 
terminar com um valor 
a = "Eu amo python, python é muito legal" 
print(a.endswith("legal")) #retorna True 
find() 
Retorna a posição da primeira 
ocorrência de um valor em 
uma string ou -1 se não 
existir. 
a = "Eu amo python, python é muito legal" 
print(a.find("amo")) #retorna 3 
print(a.find("java")) #retorna -1 
index() 
Similar ao find, mas retorna 
uma exceção se o valor não 
existir na string 
a = "Eu amo python, python é muito legal" 
print(a.index("amo")) #retorna 3 
print(a.index("java")) #retorna ValueError: 
substring not found 
isalnun() 
Retorna True para uma 
condição (todos os caracteres 
serem alfanuméricos) e 
FALSE se não for. 
a = "ExponencialÉ10" 
print(a.isalnum()) #retorna True. 
Outras 
condições 
para True 
isalpha(): somente letras do alfabeto; isdecimal(): somente decimais; 
isdigit(): somente dígitos; isidentifier(): se for identificador; islower(): 
somente letras minúsculas; isspace(): somente espaços; istitle(): segue a 
regra para títulos; isupper(): somente maiúsculas. 
len() Retorna o tamanho da string 
a = "Olá, Mundo!" 
print(len(a)) #retorna 10 
lower() ou 
casefold() 
Retorna a string em letras 
minúsculas 
a = " Olá, Mundo! " 
print(a.lower()) #retorna "olá, mundo!" 
replace() 
Substitui uma string por 
outra 
a = " Olá, Mundo! " 
print(a.replace("l", "p")) #retorna "Opá, 
Mundo!" 
startswith() 
Retorna True se a string 
começar com um valor 
a = "Eu amo python, python é muito legal" 
print(a.startswith("Eu")) #retorna True 
split() 
Retorna as substrings 
encontradas entre o 
separador indicado 
a = "Olá, Mundo!" 
print(a.split(",")) #retorna ['Olá', ' Mundo!'] 
strip() 
Remove os espaços em 
branco do início e do fim da 
string 
a = " Olá, Mundo! " 
print(a.strip()) #retorna "Olá, Mundo!" 
title() 
Converte o primeiro caractere 
de cada palavra para 
maiúscula 
a = "Eu amo python!" 
print(a.title()) #”Eu Amo Python!” 
upper() 
Retorna a string em letras 
maiúsculas 
a = " Olá, Mundo! " 
print(a.upper()) #retorna "OLÁ, MUNDO!" 
Esquema 13 – Principais funções para strings em Python. 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 22 de 87 
www.exponencialconcursos.com.br 
5- (CESGRANRIO - 2005 - AL-TO - Programador de 
computador) O método capitalize da classe String do Python é utilizado para: 
a) remover todos os espaços de uma string. 
b) verificar se todos os caracteres da string são numéricos. 
c) procurar uma substring em uma string retornando seu índice caso seja 
encontrada. 
d) retornar uma cópia de uma string somente com o primeiro caractere em 
maiúsculo. 
e) retornar uma cópia de uma string com todos os caracteres em minúsculo. 
Resolução: 
Vamos analisar qual o método ou função responsável por cada um dos itens: 
a) Incorreto: o método strip() é usado para remover todos os espaços de uma 
string. 
b) Incorreto: o método isdecimal() é usado para verificar se todos os 
caracteres da string são numéricos. 
c) Incorreto: o método find() é usado para procurar uma substring em uma 
string retornando seu índice caso seja encontrada. 
d) Correto: o métodocapitalize() é usado para retornar uma cópia de uma 
string somente com o primeiro caractere em maiúsculo. 
e) Incorreto: o método lower() é usado para retornar uma cópia de uma 
string com todos os caracteres em minúsculo. 
Gabarito: Letra D. 
 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 23 de 87 
www.exponencialconcursos.com.br 
Operadores em Python 
 Uma linguagem de programação também utiliza um conjunto de 
operadores para realizar operações em variáveis e valores. 
 O Python divide os operadores nos seguintes grupos: aritméticos; de 
atribuição; de comparação; lógicos; de identidade; de associação; e bit a bit. 
 
 Vamos ver os operadores divididos nestes grupos no quadro a seguir: 
Operadores aritméticos 
Usados para realizar operações matemáticas comuns com valores numéricos 
Tome x = 10 e y = 4. 
Operador Nome Exemplo 
+ Adição 
x + y 
14 
- Subtração 
x – y 
6 
* Multiplicação 
x * y 
40 
/ Divisão 
x / y 
2.5 
% 
Módulo 
(resto da divisão) 
x % y 
2 
** Exponenciação 
x ** y 
10000 
// 
Divisão com piso 
(arredonda o resultado para baixo) 
x // y 
2 
Operadores de atribuição 
Usados para atribuir valores a variáveis. 
Considere x sempre o valor da linha anterior, iniciando com 5 na primeira. 
Operador Exemplo Descrição 
Mesmo 
que 
= x = 5 Atribuição simples. Variável recebe 
o valor indicado. 
x = 5 
+= x += 3 
x = 8 
Atribuição com soma. x = x + 3 
-= x -= 3 
x = 5 
Atribuição com subtração. x = x - 3 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 24 de 87 
www.exponencialconcursos.com.br 
*= x *= 3 
x = 15 
Atribuição com multiplicação. x = x * 3 
/= x /= 3 
x = 5 
Atribuição com divisão. x = x / 3 
%= x %= 3 
x = 2 
Atribuição com resto. x = x % 3 
 x = 10 
//= x //= 3 
x = 3 
Atribuição com divisão com piso. x = x // 3 
**= x **= 3 
x = 9 
Atribuição com exponenciação. x = x ** 3 
&= x &= 3 Atribuição com operação AND 
binária. 
x = x & 3 
|= x |= 3 Atribuição com operação OR 
binária. 
x = x | 3 
^= x ^= 3 Atribuição com operação XOR 
binária. 
x = x ^ 3 
>>= x >>= 3 Atribuição com operação Signed 
right shift binária. 
x = x >> 3 
<<= x <<= 3 Atribuição com operação Zero fill 
left shift binária. 
x = x << 3 
Operadores de comparação 
Usados para comparar dois valores. 
Tome x = 10 e y = 4. 
Operador Name Exemplo 
== Igual 
x == y 
False 
!= Não igual 
x != y 
True 
> Maior que 
x > y 
True 
< Menor que 
x < y 
False 
>= Maior ou igual a 
x >= y 
True 
<= Menor ou igual a 
x <= y 
False 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 25 de 87 
www.exponencialconcursos.com.br 
Operadores lógicos 
Usados para combinar condições. 
Tome x = 10 e y = 4. 
Operador Descrição Exemplo 
and 
Retorna True se ambas as declarações 
forem verdadeiras 
x < 5 and y < 10 
False, pois x < 5 é falso 
or 
Retorna True se uma das declarações 
forem verdadeiras 
x < 5 and y < 10 
True, pois y < 10 é verdadeiro 
not 
Reverte o resultado, retornando False 
para quando verdadeiro e True para 
quando falso 
not(x < 5 and y < 10) 
True, pois (x < 5 and y < 10) 
retorna False 
Operadores de identidade 
Usados para comparar objetos, se eles são realmente o mesmo objeto 
ocupando a mesma posição de memória. 
Operador Descrição Exemplo 
is 
Retorna True se ambas as variáveis 
representam o mesmo objeto 
x is y 
x = ["apple", "banana"] 
y = ["apple", "banana"] 
z = x 
 
print(x is z) 
 
#retorna True porque z e x são 
o mesmo objeto 
 
print(x is y) 
 
#retorna False porque x não é o 
mesmo objeto que y, embora 
tenham o mesmo conteúdo 
is not 
Retorna True se as variáveis 
representam objetos diferentes 
x is not y 
x = ["apple", "banana"] 
y = ["apple", "banana"] 
z = x 
 
print(x is not z) 
 
#retorna False porque z e x são 
o mesmo objeto 
 
 
 
 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 26 de 87 
www.exponencialconcursos.com.br 
Operadores de associação 
Usados para testar se uma sequência de valores é apresentada em um 
objeto. 
Operador Descrição Exemplo 
in 
Retorna True se uma sequência com 
valores especificados está presente no 
objeto. 
x in y 
x = ["apple", "banana"] 
 
print("banana" in x) 
 
#retorna True porque "banana" 
está na lista 
not in 
Retorna True se uma sequência com 
valores especificados não está presente 
no objeto. 
x not in y 
x = ["maça", "banana"] 
 
print("uva" not in x) 
 
#retorna True porque "uva" não 
está na lista 
Operadores bit a bit 
Usados para combinar declarações condicionais, mas bit a bit 
Operador Nome Descrição 
& AND Coloca cada bit em 1 se ambos os bits forem 1 
| OR Coloca cada bit em 1 se um dos bits forem 1 
^ XOR Coloca cada bit em 1 se somente um dos bits forem 1 
~ NOT Inverte todos os bits 
<< 
Zero fill left 
shift 
Desloca para a esquerda, empurrando zeros da direita e 
deixando os bits mais à esquerda 
>> 
Signed right 
shift 
Move para a direita, empurrando cópias do bit mais à 
esquerda, e excluindo os bits mais a direita 
Esquema 14 – Operadores em Python. 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 27 de 87 
www.exponencialconcursos.com.br 
6- (FGV - 2018 - MPE-AL - Analista do Ministério 
Público - Administrador de Rede) Considere os seguintes operadores: 
Exponenciação 
Comparação de igualdade 
Módulo (resto da divisão) 
Assinale a lista dos símbolos que, respectivamente, representam esses 
operadores no Python. 
a) ^ == mod 
b) ** == % 
c) ** = % 
d) ** = mod 
e) ^ = mod 
Resolução: 
Vamos analisar qual o método ou função responsável por cada um dos itens: 
a) Incorreto: ^ (XOR) == (Igualdade) mod (não é operador) 
b) Correto: ** (Exponenciação) == (Igualdade) % (Resto de divisão) 
c) Incorreto: ** (Exponenciação) = (Atribuição) % (Resto de divisão) 
d) Incorreto: ** (Exponenciação) = (Atribuição) mod (não é operador) 
e) Incorreto: ^ (XOR) = (Atribuição) mod (não é operador) 
Gabarito: Letra B. 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 28 de 87 
www.exponencialconcursos.com.br 
Coleções em Python 
 Uma coleção é uma estrutura de dados para armazenar objetos. Em 
Python, existem quatro tipos de coleções. São elas: 
▪ List (lista) é uma coleção ordenada e modificável. Permite membros 
duplicados. É indexada por inteiro. 
▪ Tuple (sequência) é uma coleção que é ordenada e imutável. Permite 
membros duplicados. É indexada por inteiro. 
▪ Set (conjunto) é uma coleção desordenada e não indexada. Nenhum 
membro duplicado. 
▪ Dictionary (dicionário) é uma coleção que é desordenada, alterável e 
indexada (pode ser por string). Nenhum membro duplicado. 
 Ao escolher um tipo de coleção, é útil entender as propriedades desse tipo. 
Escolher o tipo certo para um determinado conjunto de dados pode significar 
retenção de significado e pode significar um aumento na eficiência ou 
segurança. 
Vamos diferenciar essas coleções com base em um esquema: 
 
Esquema 15 – Coleções em Python. 
List
Ordenada
Modificável
Permite 
duplicados
Indexação 
por inteiro
Entre []
Tuple
Ordenada
Não 
modificável
Permite 
duplicados
Indexação 
por inteiro
Entre ()
Set
Não 
ordenada
Modificável
Modificável
Não permite 
duplicados
Entre {}
Dictionary
Não 
ordenada
Modificável
Não permite 
duplicados
Indexação 
por string
Entre {}, 
mas com 
chave e valor
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 29 de 87 
www.exponencialconcursos.com.br 
7- (NC-UFPR - 2017 - ITAIPU BINACIONAL - 
Profissional de Nível Superior Jr - Computação ou Informática– 
Suporte) Três tipos de dados fundamentais em Python são as listas (“lists”), 
sequências ou ‘tuplas’ (“tuples”) e dicionários (“dictionaries”). A respeito dessas 
estruturas, é correto afirmar: 
a) Listas não podem ser modificadas depois de criadas, ao passo que sequências 
e dicionários podem. 
b) Listas podem ser modificadas, mas seu tamanho não pode ser modificado 
após a criação, ao passo que sequências e dicionários não têm essa limitação. 
c) Dicionários não podem ser modificados depois de criados, ao passo que listas 
e sequências podem. 
d) Listas e sequências são indexadas por inteiros, ao passo que dicionários 
podem ser indexados por “strings”. 
e) Listas e dicionários são indexados por inteiros, ao passo que sequências 
podem ser indexadas por “strings”. 
Resolução: 
Vamos analisar cada uma das alternativas: 
a) Incorreto: Listas não podem ser modificadas depois de criadas, ao passo 
que sequências (ou tuplas) não podem e dicionários podem. 
b) Incorreto: Listas podem ser modificadas, mas seu tamanho não pode ser 
modificado após a criação, ao passo que sequências não podem e dicionários 
não têm essa limitação. 
c) Incorreto: Dicionários não podem ser modificados depois de criados, ao 
passo que listas podem e sequências não podem. 
d) Correto: Listas e sequências são indexadas por inteiros, ao passo que 
dicionários podem ser indexados por “strings”. 
e) Incorreto: Listas e dicionários sequências são indexados por inteiros, ao 
passo que sequências dicionários podem ser indexadas por “strings”. 
Gabarito: Letra D. 
 
 
 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 30 de 87 
www.exponencialconcursos.com.br 
Listas em Python 
 Uma lista (List) é uma coleção ordenada e modificável. Em Python, 
listas são escritas com colchetes []. 
 O código a seguir representa a criação de uma lista com três elementos 
estalista = [“maçã”, “banana”, “cereja”] 
print(estalista) 
 O resultado do comando print será: 
['maçã', 'banana', 'cereja'] 
 
 Os elementos de uma lista podem ser acessados por meio de um índice 
inteiro, sendo que 0 representa o primeiro elemento, 1 o segundo elemento e, 
assim, sucessivamente. Se for usado um número negativo, considera-se que 
está se partindo do final da lista. Logo: 
estalista = [“maçã”, “banana”, “cereja”] 
estalista[1] = “abacaxi” 
print(estalista) 
 O comando da segunda linha irá alterar o elemento 1 da lista, isto é, o 
segundo elemento e o resultado do comando print será: 
['maçã', 'abacaxi', 'cereja'] 
 
 Vejamos a seguir os principais métodos ou funções que podem ser usados 
com as listas: 
Função O que faz? Exemplo 
list() 
Constrói uma lista passando-se 
os elementos 
estalista = list(("maçã", "banana", "cereja")) 
append() 
Acrescenta um elemento no final 
da lista 
estalista = list(("maçã", "banana", "cereja")) 
estalista.append("uva") 
print(estalista) #retorna ['maçã', 'banana', 
'cereja', 'uva'] 
clear() 
Remove todos os elementos de 
uma lista 
estalista = list(("maçã", "banana", "cereja")) 
estalista.clear() 
print(estalista) #retorna [] 
copy() Retorna uma cópia da lista 
estalista = list(("maçã", "banana", "cereja")) 
x = estalista.copy() 
print(x) #retorna ['maçã', 'banana', 'cereja'] 
count() 
Retorna o número de elementos 
com um valor espeficicado 
estalista = list(("maçã", "banana", "cereja")) 
x = estalista.count("cereja") 
print(x) #retorna 1 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 31 de 87 
www.exponencialconcursos.com.br 
extend() 
Adiciona os elementos de uma 
lista ao final de outra 
estalista1 = list(("maçã", "banana", "uva")) 
estalista2 = list(("pêra", "cereja")) 
estalista1.extend(estalista2) 
print(x) #retorna ['maçã', 'banana', 'uva', 
‘pêra’, “cereja”] 
index() 
Retorna o índice do primeiro 
elemento com um valor 
especificado 
estalista = list(("maçã", "banana", "cereja")) 
estalista.index("cereja") 
print(estalista) #retorna 2 
insert() 
Adiciona um elemento a uma 
posição específica 
estalista = list(("maçã", "banana", "cereja")) 
estalista.insert(1, "uva") 
print(estalista) #retorna ['maçã', ‘uva’, 
'banana', 'cereja'] 
pop() 
Remove o elemento de uma 
posição específica 
estalista = list(("maçã", "banana", "cereja")) 
estalista.pop(1) 
print(estalista) #retorna ['maçã', 'cereja'] 
remove() 
Remove o primeiro item com um 
valor especificado 
estalista = list(("maçã", "banana", "cereja")) 
estalista.remove("banana") 
print(estalista) #retorna ['maçã', 'cereja'] 
range() 
Gera uma lista (um range na 
versão 3.5) de números inteiros. 
Pode ser: 
range(start, stop, step) 
 range(start, stop) 
range(stop), onde 
start: número de início 
stop: número final, sem incluir o 
próprio 
step: diferença entre cada 
número na sequência, 1 por 
padrão 
estalista = range(1, 10, 2) 
print(estalista) #retorna [1, 3 , 5, 7, 9] 
 
estalista = range(2, 5) 
print(estalista) #retorna [2, 3, 4] 
 
estalista = range(5) 
print(estalista) #retorna [0, 1, 2, 3, 4] 
reverse() Reverte a ordem da lista 
estalista = list(("maçã", "banana", "cereja")) 
estalista.reverse() 
print(estalista) #retorna [‘cereja', 'banana', 
‘maçã’] 
sort() 
Ordena a lista. Por padrão usa a 
ordem crescente. 
Pode usar atributos ou mesmo 
outras funções com critérios 
específicos para indicar outras 
ordens. 
list.sort(reverse=True|False, 
key=myFunc), onde: 
reverse=True irá usar a ordem 
decrescente. 
key=uma função para especificar 
um critério. 
estalista = list(("maçã", "banana", "cereja")) 
estalista.sort() 
print(estalista) #retorna ['banana', ‘cereja', 
‘maçã’] 
Esquema 16 – Principais funções para listas em Python. 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 32 de 87 
www.exponencialconcursos.com.br 
8- (UNIRIO - 2014 - UNIRIO - Analista Tecnologia da 
Informação - Desenvolvimento de Sistemas) 
Sobre o comando range para construção de listas na linguagem Python, é 
CORRETO afirmar que 
a) range(4,6) gera a lista [4,5]. 
b) range(5) gera a lista [1,2,3,4,5]. 
c) range(4,6) gera a lista [4,5,6,7,8,9]. 
d) range(5,1) gera a lista [5]. 
e) range(5,1,-2) gera a lista [4,5]. 
Resolução: 
Vamos analisar cada uma das alternativas: 
a) Correto: range(4,6) gera a lista [4,5], pois usa os atributos start para indicar 
o início 4 e stop para indicar o fim, sem incluir este último. 
b) Incorreto: range(5) gera a lista [1,2,3,4,5], pois não inclui o elemento stop 
indicado. 
c) Incorreto: range(4,6) gera a lista [4,5,6,7,8,9], pois usa os atributos start 
para indicar o início 4 e stop para indicar o fim, sem incluir este último. 
d) Incorreto: range(5,1) gera a lista [5] [], pois por padrão o step é 1, mas 
como o stop está fixado em um valor inferior ao start, não será possível incluir 
um elemento neste intervalo 
e) Incorreto: range(5,1,-2) gera a lista [4,5] [5,3], pois usa os atributos start 
para indicar o início 5 e stop para indicar o fim em 1, sem incluir este último e 
step para indicar que vai reduzindo de 2 em 2. 
Gabarito: Letra A. 
 
9- (IF-PE - 2016 - IF-PE - Técnico em Tecnologia da 
Informação - Desenvolvimento) 
Uma das estruturas de dados existentes na linguagem de programação Python 
são as listas. Considere o trecho de código abaixo: 
candidatos = ['José', 'João', 'Cibelly', 'Sonivaldo','Dariane'] 
É CORRETO afirmar que 
a) candidatos.len() obtem o tamanho da lista. 
b) o método append é utilizado para adicionar um elemento no início da lista. 
c) o comando insert('Antônio') insere “Antônio” no início da lista. 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 33 de 87 
www.exponencialconcursos.com.br 
d) candidatos[-2] retornaria o penúltimo elemento da lista. 
e) candidatos.size()obtem o tamanho da lista. 
Resolução: 
Vamos analisar cada uma das alternativas: 
a) Incorreto: candidatos.len() len(candidatos) obtem o tamanho da lista. 
b) Incorreto: o método append é utilizado para adicionar um elemento no início 
fim da lista. 
c) Incorreto: o comando insert('Antônio') não executa, pois requer que se 
indique a posição que o elemento será inserido insere “Antônio” no início 
da lista. 
d) Correto: candidatos[-2] retornaria o penúltimo elemento da lista. 
Um índice inteiro negativo indica que os elementos serão acessados a partir do 
final da lista, então [-2] indica que será acessado o segundo elemento do final 
para o início. 
e) Incorreto: candidatos.size() len(candidatos) obtem o tamanho da lista. 
Gabarito: Letra D. 
 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 34 de 87 
www.exponencialconcursos.com.br 
Tuplas em Python 
Uma Sequência (Tupla ou Tuple) é uma coleção ordenada e 
imutável. Em Python, elas são escritas entre parênteses (). 
O código a seguir representa a criação de uma tupla com três elementos 
estatupla = (“maçã”, “banana”, “cereja”) 
print(estatupla) 
 O resultado do comando print será: 
('maçã', 'banana', 'cereja') 
 
Os elementos de uma tupla podem ser acessados por meio de um índice 
inteiro, sendo que 0 representa o primeiro elemento, 1 o segundo elemento e, 
assim, sucessivamente. Se for usado um número negativo, considera-se que 
está se partindo do final da tupla. Logo: 
estatupla = (“maçã”, “banana”, “cereja”) 
print(estatupla[1]) 
 O comando da segunda linha irá exibir o elemento 1 da tupla, isto é, o 
segundo elemento e o resultado do comando print será: 
banana 
 
 Em uma tupla, os elementos não são modificáveis, logo ao executar o 
seguinte código: 
estatupla = (“maçã”, “banana”, “cereja”) 
estatupla[1] = “abacaxi” 
print(estatupla[1]) 
 O comando da segunda linha não irá retornar nenhum erro, mas 
também não irá modificar a tupla. Assim, o resultado do comando print será: 
('maçã', 'banana', 'cereja') 
 Os principais métodos aplicáveis a tuplas são exibidos a seguir: 
Função O que faz? Exemplo 
tuple() 
Constrói uma tupla passando-se 
os elementos 
estatupla = tuple(("maçã", "banana", "uva")) 
len() 
Retorna o número de elementos 
em uma tupla 
estatupla = tuple(("maçã", "banana", "uva")) 
print(len(estatupla)) #retorna 3 
Esquema 17 – Principais funções para tuplas em Python. 
 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 35 de 87 
www.exponencialconcursos.com.br 
Conjuntos (Sets) em Python 
Um Conjunto (Set) é uma coleção desordenda e não indexada. Em 
Python, elas são escritas entre chaves {}. 
O código a seguir representa a criação de um conjunto com três 
elementos: 
esteconjunto = {“maçã”, “banana”, “cereja”} 
print(esteconjunto) 
 O resultado do comando print poderá ser: 
{'maçã', 'banana', 'cereja'} ou 
 {'banana', 'maçã', 'cereja'} ou 
 {'maçã', 'cereja', 'banana'} ou 
 Estes elementos em qualquer outra ordem. 
 
 Os principais métodos aplicáveis a conjuntos são exibidos a seguir: 
Função O que faz? Exemplo 
set() 
Constrói um conjunto passando-
se os elementos 
esteset = set(("maçã", "banana", "uva")) 
len() 
Retorna o número de elementos 
em um conjunto 
esteset = set(("maçã", "banana", "uva")) 
print(len(esteset)) #retorna 3 
add() Adiciona um item ao conjunto 
esteset = set(("maçã", "banana", "uva")) 
esteset.add("cereja") 
print(esteset) #retorna {"maçã", "banana", 
"uva", “cereja”} em qualquer ordem. 
remove() 
Remove um item de um 
conjunto 
esteset = set(("maçã", "banana", "uva")) 
esteset.remove("banana") 
print(esteset) #retorna {"maçã", "uva"} em 
qualquer ordem. 
Esquema 18 – Principais funções para conjuntos em Python. 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 36 de 87 
www.exponencialconcursos.com.br 
Dicionários (Dictionaries) em Python 
Um Dicionário (Dictionary) é uma coleção desordenda, modificável 
e indexada. Em Python, elas são escritas entre chaves {}, mas com pares 
chave e valor. 
O código a seguir representa a criação de um dicionário com três 
elementos: 
estedicionario = { 
“maçã”: “vermelho”, 
“banana”: “amarelo”, 
“cereja”: “vermelho” 
} 
print(estedicionario) 
 O resultado do comando print será: 
{‘maçã’: ‘vermelho’, ‘banana’: ‘amarelo’, ‘cereja’: ‘vermelho’} 
 
Os elementos de um dicionário podem ser acessados por meio da chave. 
Logo: 
estedicionario = { 
“maçã”: “vermelho”, 
“banana”: “amarelo”, 
“cereja”: “vermelho” 
} 
estedicionario[“maça”] = “verde” 
print(estedicionario) 
 O comando da penúltima linha irá acessar o elemento com chave “maçã” 
e trocar o seu valor por “verde” e o resultado do comando print será: 
{‘maçã’: ‘verde’, ‘banana’: ‘amarelo’, ‘cereja’: ‘vermelho’} 
 
 
 
 
 
 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 37 de 87 
www.exponencialconcursos.com.br 
Os principais métodos aplicáveis a dicionários são exibidos a seguir: 
Função O que faz? Exemplo 
dict() 
Constrói um dicionário passando-
se os elementos 
estedicionario= dict(maçã="vermelho", 
banana="amarelo", cereja="vermelho") 
len() 
Retorna o número de elementos 
em um dicionário 
estedicionario= dict(maçã="vermelho", 
banana="amarelo", cereja="vermelho") 
print(len(estedicionario)) #retorna 3 
add() Adiciona um item ao dicionário. 
estedicionario= dict(maçã="vermelho", 
banana="amarelo", cereja="vermelho") 
estedicionario[”uva”] = ”verde” 
print(estedicionario) #retorna {‘maçã’: 
‘verde’, ‘banana’: ‘amarelo’, ‘cereja’: 
‘vermelho’, ‘uva’: ‘verde’} 
del() 
Remove um item de um 
dicionário 
estedicionario= dict(maçã="vermelho", 
banana="amarelo", cereja="vermelho") 
del(estedicionario[”banana”]) 
print(estedicionario) #retorna {‘maçã’: 
‘verde’, ‘cereja’: ‘vermelho’} 
Esquema 19 – Principais funções para dicionários em Python. 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 38 de 87 
www.exponencialconcursos.com.br 
Condições em Python 
 Um dos principais grupos de comandos presentes em qualquer linguagem 
de programação é o dos comandos condicionais. Estes comandos garantem que 
os programas realizem decisões baseadas em determinadas condições. 
Geralmente essas condições são testadas com declarações if e laços de 
repetição. 
 O comando if testa uma condição e retorna True se está condição for 
verdadeira. Vejamos um exemplo de código com uma condição usando a 
estrutura if: 
a = 33 
b = 200 
if b > a: print("b é maior que a") 
 O resultado do comando print será: 
b é maior que a 
 
 Como já citamos, o Python depende da identação para estabelecer os 
blocos de código. Assim, as declarações em novas linhas devem obedecer ao 
recuo: 
a = 33 
b = 200 
if b > a: 
print("b é maior que a") 
 O resultado do comando print será: 
b é maior que a 
 
 Caso o recuo não seja obedecido, ocorrerá um erro: 
a = 33 
b = 200 
if b > a: 
print("b é maior que a") 
 O resultado do comando print será: 
IndentationError: expected an indented block 
 
 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 39 de 87 
www.exponencialconcursos.com.br 
 Outro comando para condição no Python é o elif, que significa que se a 
condição anterior não é satisfeita, então teste outra condição. 
a = 33 
b = 33 
if b > a: 
print("b é maior que a") 
elif a == b: 
 print (“a é igual a b”) 
 O resultado deste código será: 
a é igual a b 
 
 Existe outro comando que é usado para quando nenhuma das condições 
anteriores for satisfeita, o else. Vejamos um código: 
a = 200 
b = 33 
if b > a: 
print("b é maior que a")elif a == b: 
 print (“a é igual a b”) 
else: 
 print(“a é maior que b”) 
 O resultado deste código será: 
a é maior que b 
 
 Assim, 
 
Esquema 20 – Condições em Python. 
if
•Testa uma condição
elif
•Testa outra condição se a anterior não for satisfeita
else
•Executado quando nenhuma das condições for 
satisfeita
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 40 de 87 
www.exponencialconcursos.com.br 
Loops com while em Python 
 O Python apresenta dois comandos primitivos para laços: o while e o for. 
 Com o comando while, é possível realizar um conjunto de instruções 
enquanto uma condição permanecer verdadeira. 
 Vejamos um exemplo de código com um loop while: 
i = 1 
while i < 6: 
 print (i) 
 i+=1 
 O resultado do comando print será: 
1 
2 
3 
4 
5 
 O que acontece que a cada vez que o código executa o bloco while, ele 
exibe o valor de i na tela por meio do comando print e incrementa (adiciona) 
em 1 a variável i (através de i+=1 que é equivalente a i = i +1). Quando i deixa 
de obedecer a condição, isto é, deixa de ser menor que 6, não mais se executam 
os comandos que estão neste bloco while. 
 Podemos usar os comandos break e continue para forçar paradas na 
execução de um bloco while. 
 O comando break para a execução do loop mesmo que a condição 
do while permaneça verdadeira. 
i = 1 
while i < 6: 
 print (i) 
 if i == 3: 
 break 
 i+=1 
 O resultado do comando print será: 
1 
2 
3 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 41 de 87 
www.exponencialconcursos.com.br 
 Neste caso, o comando while foi executado até que a condição testada no 
if fosse satisfeita, ou seja, até que i tivesse o valor 3. Quando esta condição foi 
satisfeita, então o comando break foi executado forçando a parada do loop 
while. 
 O comando continue para a execução iteração (rodada) corrente e 
continua com a próxima. 
i = 0 
while i < 6: 
 i+=1 
 if i == 3: 
 continue 
 print (i) 
 O resultado do comando print será: 
1 
2 
4 
5 
6 
 Note que neste caso, somente não foi exibido o número 3, pois o comando 
continue foi aplicado em um if testando se o i é igual a 3. Portanto, quando o i 
foi igual a 3, então o continue pulou os demais comandos do loop while (no caso 
o print) e foi para a próxima iteração. 
 
 
Esquema 21 – Loop com while em Python. 
 
 
 
while
Realiza um conjunto 
de instruções 
enquanto uma 
condição for 
verdadeira
break
Para a execução do 
loop mesmo que a 
condição do while 
permaneça 
verdadeira
continue
Para a execução 
iteração (rodada) 
corrente e continua 
com a próxima
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 42 de 87 
www.exponencialconcursos.com.br 
10- (CESPE - 2013 - MS - Analista Administrativo) No 
que diz respeito à linguagem de programação e às linguagens de script, julgue 
os itens a seguir. 
>>> a,b = 0,1 
>>> while b < 10: 
 print (b) 
 a, b = b, a+b 
Considerando-se o código acima, escrito na linguagem Python, é correto afirmar 
que 
1 
1 
2 
3 
5 
8 
é o resultado do referido código. 
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 b Teste no while Saída do print 
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. 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 43 de 87 
www.exponencialconcursos.com.br 
11- (CESPE - 2010 - INMETRO - Pesquisador - 
Desenvolvimento de Sistemas) 
>>> a,b = 0,2 
>>> while b < 20: 
 a, b = b, a+b+1 
 print (b) 
 Assinale a opção que apresenta a sequência correta de números impressos 
no console de um interpretador Python durante a execução dos comandos 
acima. 
a) 1, 1, 2, 3, 5, 8 
b) 2, 2, 4, 6 
c) 2, 3, 6 
d) 3, 3, 6, 10, 17, 28 
e) 3, 6, 10, 17, 28 
Resolução: 
Vamos entender o código usando os comentários do Python: 
>>> a,b = 0,2 #Aqui a é criada com o valor 0 e b com o valor 2. 
>>> while b < 10: #Loop while com condição b < 20. 
 a, b = b, a+b+1 #a recebe o valor de b e b recebe o valor de a+b+1. 
 print (b) #Exibir o valor de b. 
Agora vamos executar o código passo a passo: 
Execução Valor de a Valor de b Teste no while Saída do print 
Criação das variáveis 
a,b = 0,2 0 2 - - 
1ª iteração no while 
b < 20 (2 < 20) 0 2 True - 
a, b = b, a+b+1 2 3 - 3 
2ª iteração no while 
b < 20 (3 < 20) 2 3 True - 
a, b = b, a+b+1 3 6 - 6 
3ª iteração no while 
b < 20 (6 < 20) 3 6 True - 
a, b = b, a+b+1 6 10 - 10 
4ª iteração no while 
b < 20 (10 < 20) 6 10 True - 
a, b = b, a+b+1 10 17 - 17 
5ª iteração no while 
b < 20 (17 < 20) 10 17 True - 
a, b = b, a+b+1 17 28 - 28 
6ª iteração no while 
b < 20 (27 < 20) 17 28 False - 
Gabarito: Letra E. 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 44 de 87 
www.exponencialconcursos.com.br 
Loops com for em Python 
 Com o for, é possível iterar sobre uma sequência, isto é, é possível 
percorrer os elementos de uma sequência. Com um loop for, podemos executar 
um conjunto de comandos para cada um dos itens de uma lista, tupla, 
conjunto, etc. 
 Vejamos um exemplo de código com o loop for: 
frutas = [“maçã”, “banana”, “cereja”] 
for x in frutas: 
 print (x) 
 O resultado do comando print será: 
maçã 
banana 
cereja 
 Note que serão percorridos todos os elementos da lista, sendo que o bloco 
de comandos dentro do for será executado para cada um deles. 
 
 Os comandos break e continue também podem ser usados para forçar 
paradas na execução de um bloco for. 
 
 O comando break para a execução do loop antes de percorrer os 
demais elementos. 
frutas = [“maçã”, “banana”, “cereja”] 
for x in frutas: 
 if x == “banana”: 
 break 
 print (x) 
 O resultado do comando print será: 
maçã 
Neste caso, ao testar a condição x == “banana” no segundo elemento da 
lista, o código irá executar o comando break, parando a iteração do loop e não 
executando os demais comandos que estão no bloco. 
 
 
 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 45 de 87 
www.exponencialconcursos.com.br 
O comando continue para a execução iteração (rodada) corrente e 
continua com a próxima. 
frutas = [“maçã”, “banana”, “cereja”] 
for x in frutas: 
 if x == “banana”: 
 continue 
 print (x) 
 O resultado do comando print será: 
maçã 
cereja 
 Neste caso, ao testar o comando if quando x é igual a “banana”, a iteração 
corrente é ignorada e, portanto, não serão executados os demais comandos do 
for. Contudo, diferentemente do break, a próxima iteração do for é realizada. 
 
 
Esquema 22 – Loop com for em Python. 
 
 
for
Realiza um conjunto 
de instruções para 
cada item de uma 
sequência (list, set, 
tuple, etc). 
break
Para a execução do 
loop antes de 
percorrer os demais 
elementos.
continue
Para a execução 
iteração (rodada) 
corrente e continuacom a próxima.
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 46 de 87 
www.exponencialconcursos.com.br 
Funções em Python 
 Uma função é um bloco de código que pode ser executada quando 
é chamada. 
 Em Python, uma função pode ser definida com o uso da palavra def. 
def minha_funcao(): 
 print(“Oi para minha função”) 
 Para chamar uma função, basta usar o nome da função seguido de 
parênteses: 
minha_funcao() 
 Ao chamar uma função, serão executados os comandos usados na 
definição da função. Neste exemplo, teremos o seguinte resultado exibido: 
Oi para minha função 
 
 Uma função pode receber um conjunto de parâmetros. Os 
parâmetros são especificados depois do nome da função, dentro dos parênteses. 
É possível adicionar diversos parâmetros, separando-os por vírgulas. 
 Vejamos um exemplo de uma definição de uma função parametrizada e 
de várias chamadas a ela modificando-se o parâmetro: 
def minha_funcao(nome): 
 print(“Olá ” + nome) 
 
minha_funcao(“Rodrigo”) 
minha_funcao(“Pedro”) 
minha_funcao(“Lara”) 
 Ao executar essas três chamadas, teremos o seguinte resultado exibido: 
Olá Rodrigo 
Olá Pedro 
Olá Lara 
 
 É possível definir também um valor padrão para os parâmetros, que 
serão utilizados caso não sejam informados no momento da chamada da função. 
Caso seja informado um valor, o valor padrão é desconsiderado. 
 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 47 de 87 
www.exponencialconcursos.com.br 
Vejamos um trecho de código definindo uma função com um valor padrão 
para um parâmetro. 
def minha_funcao(cidade = “Fortaleza”): 
 print(“Eu sou de ” + cidade) 
 
minha_funcao(“Brasília”) 
minha_funcao() 
minha_funcao(“Florianópolis”) 
 Ao executar essas três chamadas, teremos o seguinte resultado exibido: 
Eu sou de Brasília 
Eu sou de Fortaleza 
Eu sou de Florianópolis 
 Perceba que quando chamamos a função passando um valor para o 
parâmetro, ele é utilizado na saída. Se chamarmos a função sem passar 
parâmetro, será usado o valor definido como padrão. 
 
 Uma função pode executar um conjunto de comandos sem nenhum 
retorno, mas pode também realizar um processamento e retornar um valor. 
Para definir um retorno para uma função, usa-se a palavra return seguida 
do valor a ser retornado. Vejamos: 
def minha_funcao(x): 
 return 5 * x 
 
print(minha_funcao(1)) 
print(minha_funcao(2)) 
print(minha_funcao(3)) 
 Ao executar esses comandos, teremos o seguinte resultado exibido: 
5 
10 
15 
 
 
 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 48 de 87 
www.exponencialconcursos.com.br 
 Em Python, 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 
 
 Vamos esquematizar os principais aspectos das funções em Python: 
 
Esquema 23 – Funções em Python. 
 
 
Funções
•Bloco de código que pode ser executada quando é chamada.
•Definida com def. 
•Ex.: def minha_funcao():
Parâmetros
•Uma função pode receber um conjunto de parâmetros
•Especificados dentro dos parêntesis. 
•Ex.: def minha_funcao(nome):
•Valores padrão podem ser definidos. 
•Ex.: def minha_funcao(cidade = “Fortaleza”): 
Retorno
•Definido com return.
•Ex.: def minha_funcao(x):
• return 5 * x
Funções anônimas
•Funções sem nome pré-definido.
•Definida com lambda.
•Ex..: minha_funcao = lambda i: i*2
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 49 de 87 
www.exponencialconcursos.com.br 
12- (CESPE - 2013 - FUB - Analista de Tecnologia da 
Informação) Julgue o item que se segue, acerca de linguagens de 
programação. 
Na linguagem Phyton, uma função lambda atribui à nova função o nome que 
está no cabeçalho, em vez de retorná-la como resultado. 
Resolução: 
Ao executar lambda, Python retorna uma função ao invés de atribuí-la à um 
nome como acontece com def, por isso são anônimas. 
Em Python, 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. 
Gabarito: Errado. 
 
13- (FCC - 2014 - TRT - 13ª Região (PB) - Técnico 
Judiciário - Tecnologia da Informação) Considere o código abaixo digitado 
em Python. 
..I... I contar(n): 
a = 1 
while a < n: 
print a, 
a = a+1 
contar(10) 
Preenche, corretamente, a lacuna I: 
a) function 
b) def 
c) procedure 
d) public 
e) void 
Resolução: 
Uma função é um bloco de código que pode ser executada quando é 
chamada. 
Em Python, uma função pode ser definida com o uso da palavra def. 
Gabarito: Letra B. 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 50 de 87 
www.exponencialconcursos.com.br 
14- (IF-CE - 2017 - IF-CE - Técnico de Laboratório - 
Informática) Considere o trecho do programa Python abaixo. 
 
Os valores impressos, ao se executar o programa, são, respectivamente, 
a) 1 e 1. 
b) 10. 
c) 1 e 10. 
d) 10 e 1. 
e) 10 e 10. 
Resolução: 
Vamos verificar o que é executado em cada uma das linhas do código: 
def func(): #Definição da função func(). Só será executada quando chamada. 
 x = 1 #Criação de variável x com valor 1. 
 print (x) #Comando para exibir o valor de x. 
 
x = 10 #Criação de variável x com valor 10. 
func() #Chamada a função func(). O código definido nesta função só será 
#executado agora. Então teremos a criação da variável x dentro da função com 
#o valor 1 e a exibição desse valor. O x criado dentro da função só vale para 
#dentro da função é não substitui o x criado na linha anterior com o valor 10. 
#São duas variáveis diferentes. 
print(x) #Exibir o valor de x que é 10. 
Gabarito: Letra C. 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 51 de 87 
www.exponencialconcursos.com.br 
Classes e objetos em Python 
 Python é uma linguagem orientada a objetos. Quase tudo em Python é 
um objeto com propriedades e métodos. 
 Uma classe representa um conjunto de objetos com características 
afins. Uma classe define o comportamento dos objetos através de seus 
métodos, e quais estados ele é capaz de manter através de seus atributos. 
Um objeto, em programação orientada a objetos, é uma instância (ou 
seja, um exemplar) de uma classe. 
Assim, por exemplo, podemos ter uma classe Carro e vários objetos dessa 
classe como mercedez, ferrari, bmw, entre outros. 
 Para criar uma classe, utiliza-se a palavra-chave class. Assim, 
class MinhaClasse: 
 x = 5 
 Para criar um objeto de uma classe, basta iniciar uma variável com uma 
chamada a classe, semelhante a uma chamada de método. 
p1 = MinhaClasse() 
 print(p1.x) 
 O resultado do comando print será: 
5 
 Neste caso, p1.x acessa o atributo x do objeto p1 que é do tipo 
MinhaClasse. 
 
 Para inicializar os atributos de um objeto, podemos usar o método 
__init__() que sempre é executado quando uma classe é instanciada em 
um objeto. Vejamos um exemplo: 
class Person: 
 def __init__ (self, name, age): 
 self.name = name 
 self.age = age 
 
p1 = Person (“John”, 36) 
 
print (p1.name) 
print (p1.age) 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 52 de 87 
www.exponencialconcursos.com.br 
 O resultado do comando print será: 
John 
36 
 
 O parâmetroself (que pode ser com outro nome) é uma referência para 
a própria classe e é usado para acessar as variáveis que pertencem a 
classe. Este parâmetro deve ser o primeiro de qualquer função em uma classe. 
 
 Para modificar um atributo de uma classe, basta acessá-lo através de . 
p1.age = 40 
 
 Para deletar atributos, basta usar a palavra-chave del, selecionando o 
atributo desejado. 
del p1.age 
 
 E para deletar o objeto como um todo, também basta usar del, mas sem 
indicar nenhum atributo. 
del p1 
 
 
Esquema 24 – Orientação a objetos em Python. 
 
•Conjunto de objetos com características afins.
•Define métodos e atributos.Classe
•Instância (ou seja, um exemplar) de uma 
classe.Objeto
•Executado sempre que a classe é instanciada.
•Pode ser usado para inicializar atributos.__init__
•Modicar: objeto.atributo = valor
•Deletar atributo: del objeto.atributo
•Deltar objeto: del objeto
Modificar e 
deletar
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 53 de 87 
www.exponencialconcursos.com.br 
3. PROGRAMAÇÃO EM R 
 
3.1 Introdução ao R 
R é uma linguagem e também um ambiente de desenvolvimento 
integrado para cálculos estatísticos e gráficos. O código fonte do R está 
disponível sob a licença GNU GPL e as versões binárias pré-compiladas são 
fornecidas para Windows, Macintosh, e muitos sistemas operacionais 
Unix/Linux. 
R é também altamente expansível com o uso dos pacotes, que são 
bibliotecas para sub-rotinas específicas ou áreas de estudo específicas. 
A R disponibiliza uma ampla variedade de técnicas estatísticas e 
gráficas, incluindo modelação linear e não linear, testes estatísticos clássicos, 
análise de séries temporais (time-series analysis), classificação, agrupamento e 
outras. A R é facilmente extensível através de funções e extensões, e a 
comunidade R é reconhecida pelos seus contributos ativos em termos de 
pacotes. 
A R é uma linguagem interpretada tipicamente utilizada através de um 
Interpretador de comandos. Se um usuário escreve "2+2" no comando de 
inserção e pressiona enter, o computador responde com "4". 
 
 
Esquema 25 – Linguagem R. 
R
Linguagem e 
ambiente de 
desenvolvimento
Cálculos 
estatísticos e 
gráficos
Altamente 
expansível com 
uso de pacotes
Linguagem 
interpretada
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 54 de 87 
www.exponencialconcursos.com.br 
3.2 Sintaxe básica 
R como calculadora 
O R pode facilmente funcionar como uma calculadora, assim você pode 
resolver operações ou expressões matemáticas com o uso dessa 
linguagem. Vejamos alguns exemplos: 
1 + 1 # adição 
## [1] 2 
4 - 2 # subtração 
## [1] 2 
2 * 3 # multiplicação 
## [1] 6 
5 / 3 # divisão 
## [1] 1.666667 
4 ^ 2 # potência 
## [1] 16 
5 %% 3 # resto da divisão de 5 por 3 
## [1] 2 
5 %/% 3 # parte inteira da divisão de 5 por 3 
## [1] 1 
 
 Se você digitar um comando incompleto, como 5 +, e apertar Enter, o 
R mostrará um +. Isso significa que o R está esperando que você complete 
o seu comando. Termine o seu comando ou aperte Esc para recomeçar. 
> 5 - 
+ 
+ 5 
[1] 0 
 
Se você digitar um comando que o R não reconhece, ele retornará 
uma mensagem de erro, mas você pode digitar outro comando normalmente 
em seguida. 
> 5 % 5 
Error: unexpected input in "5 % 5" 
> 5 - 5 
[1] 0 
 
 
Esquema 26 – R como calculadora. 
Resolve operações ou expressões 
matemáticas
Para comando incompleto, R mostra um 
sinal de + esperando você completar
Adição (+); Subtração (-); Multiplicação (*); 
Divisão (/); Potência (^); Resto da divisão 
(%%); Parte inteira da divisão (%/%)
Para comando não reconhecido, aparece 
mensagem de erro
R como calculadora
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 55 de 87 
www.exponencialconcursos.com.br 
Objetos em R 
 O R permite salvar dados dentro de um objeto. Para isso, basta utilizar 
o operador <-. Assim, 
a <- 1 
a 
## [1] 1 
Neste caso, houve a atribuição do valor 1 para o objeto a. 
 
 Existem cinco classes básicas ou “atômicas” no R: 
▪ character 
"a" 
## [1] "a" 
"1" 
## [1] "1" 
"positivo" 
## [1] "positivo" 
"Error: objeto x não encontrado" 
## [1] "Error: objeto x não encontrado" 
 
▪ numeric 
1 
## [1] 1 
0.10 
## [1] 0.1 
0.95 
## [1] 0.95 
pi 
## [1] 3.141593 
 
▪ integer 
1L 
## [1] 1 
5L 
## [1] 5 
10L 
## [1] 10 
 
▪ complex 
2 + 5i 
## [1] 2+5i 
 
▪ logical 
TRUE 
## [1] TRUE 
FALSE 
## [1] FALSE 
 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 56 de 87 
www.exponencialconcursos.com.br 
 Para saber qual a classe de um objeto, temos a função class(): 
x <- 1 
class(x) 
## [1] "numeric" 
 
y <- "a" 
class(y) 
## [1] "character" 
 
z <- TRUE 
class(z) 
## [1] "logical" 
 
 
Esquema 27 – Objetos em R. 
 
Objetos
Tipos
character
"a"; "x"
numeric
1; 0.10
integer
1L; 10L
complex
2 + 5i
logical
TRUE; FALSE
Permite 
salvar dados
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 57 de 87 
www.exponencialconcursos.com.br 
Vetores em R 
 Vetores no R são os objetos mais simples que podem guardar 
objetos atômicos. Um vetor tem sempre a mesma classe dos objetos que 
guarda. 
vetor1 <- c(1, 2, 3, 4) 
vetor2 <- c("a", "b", "c") 
 
vetor1 
## [1] 1 2 3 4 
vetor2 
## [1] "a" "b" "c" 
 
 É possível realizar operações com vetores de forma simples: 
vetor1 - 1 
## [1] 0 1 2 3 
 Neste caso, o R subtrai 1 de cada elemento do vetor. 
 
Se colocarmos duas ou mais classes diferentes dentro de um mesmo 
vetor, o R vai forçar que todos os elementos passem a pertencer à 
mesma classe. O número 1.7 viraria "1.7" se fosse colocado ao lado de um 
"a". Se o R não entender como coagir uma classe na outra, ele soltará um 
warning informado que colocou NA no lugar. A ordem de precedência é: 
DOMINANTE character > complex > numeric > integer > logical RECESSIVO 
 
Matrizes em R 
 Matrizes são vetores com duas dimensões (e por isso só possuem 
elementos de uma mesma classe). 
m <- matrix(1:6, nrow = 2, ncol = 3) 
m 
## [,1] [,2] [,3] 
## [1,] 1 3 5 
## [2,] 2 4 6 
dim(m) # funçăo dim() retorna a dimensăo do objeto. 
## [1] 2 3 
 
 Algumas operações úteis são: 
m[3, ] # seleciona a terceira linha 
m[ , 2] # seleciona a segunda coluna 
m[1, 2] # seleciona o primeiro elemento da segunda coluna 
t(m) # matriz transposta 
m %*% n # multiplicação matricial 
solve(m) # matriz inversa de m 
 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 58 de 87 
www.exponencialconcursos.com.br 
Fatores em R 
Fatores podem ser vistos como vetores de inteiros que possuem 
rótulos (levels). 
sexo <- c("M", "H", "H", "H", "M", "M", "H") 
fator <- as.factor(sexo) 
fator 
## [1] M H H H M M H 
## Levels: H M 
as.numeric(fator) 
## [1] 2 1 1 1 2 2 1 
 
A função levels() retorna os rótulos do fator: 
levels(fator) 
## [1] "H" "M" 
 
 
Listas em R 
 Listas são um tipo especial de vetor que aceita elementos de 
classes diferentes. 
x <- list(1:5, "Z", TRUE, c("a", "b")) 
x 
## [[1]] 
## [1] 1 2 3 4 5 
## 
## [[2]] 
## [1] "Z" 
## 
## [[3]] 
## [1] TRUE 
## 
## [[4]] 
## [1] "a" "b" 
 
 
 
 
Curso: Noções de Informática 
Teoria e Questões comentadas 
Prof. Ramon Souza 
 
Prof. Ramon Souza 59 de 87 
www.exponencialconcursos.com.br 
Vamos esquematizar os vetores, matrizes e fatores: 
 
Esquema 28 – Vetores, Matrizes, Fatores e Listas em R. 
 
Vetores
Objetos mais 
simples para 
guardar objetos 
atômicos.
Mesma classe dos 
objetos que 
guarda
Se tiver objetos 
de mais de uma 
classe:
character > 
complex > 
numeric > integer 
> logical 
vetor1 <- c(1, 2, 
3, 4)
Matrizes
Vetores

Continue navegando