Python I
Python I
Linguagem Python
Livro Eletrônico
Presidente: Gabriel Granjeiro
Vice-Presidente: Rodrigo Calado
Diretor Pedagógico: Erico Teixeira
Diretora de Produção Educacional: Vivian Higashi
Gerente de Produção Digital: Bárbara Guerra
Coordenadora Pedagógica: Élica Lopes
Todo o material desta apostila (incluídos textos e imagens) está protegido por direitos autorais
do Gran. Será proibida toda forma de plágio, cópia, reprodução ou qualquer outra forma de
uso, não autorizada expressamente, seja ela onerosa ou não, sujeitando-se o transgressor às
penalidades previstas civil e criminalmente.
CÓDIGO:
250102163752
PATRÍCIA QUINTÃO
PATRÍCIA QUINTÃO
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
Estatística
Linguagem Python
Patrícia Quintão
SUMÁRIO
Apresentação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Linguagem Python. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1. O que É o Python?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2. Características Principais da Linguagem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. Sintaxe do Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4. Indentação (ou Recuo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5. Comentários e Docstrings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6. Conhecendo Variáveis e Constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
7. Conversões e Casting de Tipos de Dados em Python. . . . . . . . . . . . . . . . . . . . . . . . 10
8. Operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
9. Strings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
10. Coleções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
11. Lista. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
12. Dispersões (ou Dicionários). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
13. Estruturas de Decisão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
14. Estruturas de Repetição. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
15. Funções. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Resumo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Questões Comentadas em Aula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Exercícios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Gabarito. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Gabarito Comentado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 3 de 76
Estatística
Linguagem Python
Patrícia Quintão
APRESENTAÇÃO
Saudações, querido(a) amigo(a)!
É sempre um prazer fazer parte dessa jornada de sucesso ao seu lado. Vamos então à
aula sobre Python.
Lembre-se, cada linha de código é um passo a mais em direção ao seu objetivo. Mantenha
o pensamento positivo e força nos estudos!
Grande abraço.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 4 de 76
Estatística
Linguagem Python
Patrícia Quintão
LINGUAGEM PYTHON
Rumo ao estudo do Python, uma linguagem de altíssimo nível, orientada a objeto, de
tipagem dinâmica, fortemente interpretada e interativa.
1. O QUE É O PYTHON?
Python é uma linguagem de programação de alto nível e que tem como principal
princípio permitir uma alta legibilidade de código por meio de uma sintaxe simples, porém
poderosa e que permite que programadores desenvolvam suas soluções utilizando poucas
linhas de código (Treinaweb, 2022).
Python é uma linguagem de programação de alto nível, interpretada e de propósito
geral. É conhecida por sua sintaxe clara e legível, o que facilita o aprendizado e a manutenção
do código.
A linguagem Python foi desenvolvida por Guido Van Rossum no final dos anos 80.
Dentre suas principais aplicações merecem destaque: Data Science, Machine Learning,
Big Data, Desenvolvimento Web (Django e Flask) etc.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 5 de 76
Estatística
Linguagem Python
Patrícia Quintão
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 6 de 76
Estatística
Linguagem Python
Patrícia Quintão
• Você faz seu programa Python (.py), compila-o transformando num bytecode
(.pyc), e, então, pode-se pegar esse bytecode e jogar em qualquer plataforma que
possua uma máquina virtual Python (conhecida como PVM -Python Virtual Machine):
Windows, Mac, Linux etc., SEM precisar recompilar. É O MESMO CÓDIGO!
Python é uma linguagem com verificação de tipos, mas tipada dinamicamente, o
que significa que o próprio interpretador infere os tipos de dados SEM a necessidade de
o desenvolvedor informar.
De tipagem dinâmica – As variáveis no Python podem armazenar qualquer tipo de
dados, independente do seu valor atual.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 7 de 76
Estatística
Linguagem Python
Patrícia Quintão
• Inclui suporte para concorrência com suas linhas de execução (threads) e suporte
para programação de rede com seus soquetes. Tem também mais suporte para
programação funcional que outras linguagens de programação não funcionais;
• Em Python, c %= a é a forma reduzida de representar c = c % a. Assim como c +=
a equivale a c = c+a.
3. SINTAXE DO PYTHON
A sintaxe do Python é projetada para ser intuitiva e legível, o que facilita o desenvolvimento
rápido e a manutenção do código. Essa simplicidade é um dos motivos pelos quais Python
é uma das linguagens de programação mais populares e amplamente utilizadas no mundo.
A sintaxe de Python não é baseada diretamente em nenhuma linguagem comumente
usada. Python é conhecido por possuir uma sintaxe simples e possui algumas características
marcantes da linguagem (Treinaweb, 2022):
• não utiliza ponto e vírgula (;) para finalizar uma instrução;
• utiliza indentação obrigatória por espaços. Ao contrário de muitas outras linguagens
de programação que usam chaves ou palavras-chave para definir blocos de código,
Python utiliza a indentação para esse propósito. Isso significa que a estrutura do
código é definida pelo alinhamento dos blocos, o que promove a legibilidade;
if nome_variavel == 6:
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 8 de 76
Estatística
Linguagem Python
Patrícia Quintão
else:
5. COMENTÁRIOS E DOCSTRINGS
Os comentários, incluídos nas linhas dos scripts Python, não são processados, uma
vez que correspondem a notas explicativas que têm o objetivo de descrever algo que
se tenha necessidade, para melhor organizar os códigos.
Em Python, comentários são iniciados com #, tudo que estiver depois do # será
ignorado pelo interpretador, portanto considerado como comentários, o fechamento do
comentário acaba quando acabar a linha do interpretador.
As docstrings são mais comumente introduzidas no início de uma classe, de uma função
ou no início do programa para definir o escopo do software ou o escopo de métodos, seu
símbolo padrão são as três aspas duplas ou simples. Também não modificam o programa
executado.
Por exemplo, entre com as linhas abaixo.
#
# Comentários:
#
def fat1(n):
# Entre com fat1(n) para calcular o fatorial de n
# Exemplo: fat1(5)
if (n <= 1):
return 1
return n * fat1(n-1)
#
# Docstrings:
#
def fat2(n):
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 9 de 76
Estatística
Linguagem Python
Patrícia Quintão
‘’’
Entre com fat2(n) para calcular o fatorial de n
Exemplo: fat2(5)
‘’’
if (n <= 1):
return 1
return n * fat1(n-1)
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 10 de 76
Estatística
Linguagem Python
Patrícia Quintão
Veja mais:
Conversão implícita
Observe pela figura que a variável x é do tipo int e a variável y é do tipo float. A variável
z, no contexto dado, recebe a soma de x mais y. Para acontecer isso, a linguagem Python
sempre converte tipos de dados menores (no exemplo, o tipo int) em tipos de dados
maiores (no exemplo, o tipo float) para evitar a perda de dados. No final, é do tipo float
o valor da soma de um número tipo int mais um número do tipo float. Por isso, a variável
z é do tipo float (Araújo, 2022).
A seguir, veja o que acontece se fizermos uma operação entre variável do tipo int com
uma variável do tipo str (Araújo, 2022):
Conversão implícita
No exemplo anterior, tentamos fazer uma operação com as variáveis x (do tipo int) e y
(do tipo str). Porém, Python não foi capaz de fazer a conversão implícita nessa situação.
Nesse caso, é necessário fazer uma conversão explícita, destacada a seguir.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 11 de 76
Estatística
Linguagem Python
Patrícia Quintão
Agora a variável y receber o valor string “10” convertido explicitamente para o tipo int
(y = int(“10”)). A variável z então pode receber a operação entre duas variáveis do tipo int
(no caso, a operação de soma).
Mas podemos corrigir de uma outra forma:
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 12 de 76
Estatística
Linguagem Python
Patrícia Quintão
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 13 de 76
Estatística
Linguagem Python
Patrícia Quintão
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 14 de 76
Estatística
Linguagem Python
Patrícia Quintão
• A função str() constrói uma string a partir de uma ampla variedade de tipos de
dados, incluindo:
− literais de string;
− literais inteiros; ou
− literais de ponto flutuante.
Vimos que 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).
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 15 de 76
Estatística
Linguagem Python
Patrícia Quintão
Conforme visto, o comando de atribuição x = int(5.9) fará com que a variável x passe a
armazenar um valor inteiro igual a 5.
Errado.
8. OPERADORES
Operadores Aritméticos Operadores Lógicos
+ Soma > Maior
- Subtração < Menor
*multi Multiplicação >= Maior ou igual
/ Divisão <= Menor ou igual
// Divisão de Inteiros == Igual
** Potenciação != Diferente
% Módulo not Negação
and Conjunção
or Disjunção
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 16 de 76
Estatística
Linguagem Python
Patrícia Quintão
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 17 de 76
Estatística
Linguagem Python
Patrícia Quintão
9. STRINGS
Uma string é uma cadeia de caracteres variáveis de tamanho dinâmico.
Vejamos exemplos de funções do Python aplicáveis a strings:
Função Objetivo
capitalize() Retorna uma string com o primeiro caractere maiúsculo.
count() Retorna o número de vezes que um valor aparece em uma string.
endswith() Retorna True se a string terminar com um valor.
Retorna a posição da primeira ocorrência de um valor em uma string ou
find()
-1 se não existir.
Retorna True para uma condição (todos os caracteres serem
isalnun()
alfanuméricos) e False se não for.
len() Retorna o tamanho da string.
lower() ou casefold() Retorna a string em letras minúsculas.
replace() Substitui uma string por outra.
startswith() Retorna True se a string começar com um valor.
split() Retorna as substrings encontradas entre o separador indicado.
strip() Remove os espaços em branco do início e do fim da string.
title() Converte o primeiro caractere de cada palavra para maiúscula.
upper() Retorna a string em letras maiúsculas.
10. COLEÇÕES
Uma coleção é uma estrutura de dados utilizada para armazenar objetos. Em Python,
existem quatro tipos de coleções, que são:
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 18 de 76
Estatística
Linguagem Python
Patrícia Quintão
Coleções no Python
11. LISTA
Uma lista é a estrutura de dados mais básica do Python e armazena os dados em
sequência, em que cada elemento possui sua posição na lista, denominada de índice. O
primeiro elemento é sempre o índice zero e a cada elemento inserido na lista esse valor é
incrementado (Treinaweb, 2022).
No Python, uma lista pode armazenar qualquer tipo de dado primitivo (string, inteiro,
float, etc.). Na imagem seguinte pode-se ver como uma lista se comporta:
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 19 de 76
Estatística
Linguagem Python
Patrícia Quintão
Além disso, elas são mutáveis e definidas pelos colchetes, da seguinte maneira:
[1, 2, 3]
nome_da_lista = [] # Criação de uma lista vazia
nome_da_lista = [1, 2, 3] # Criação de uma lista de inteiros
nome_da_lista = [1, “Olá, mundo!”, 1.1] # Lista com vários tipos diferentes
EXEMPLO
[Link] 20 de 76
Estatística
Linguagem Python
Patrícia Quintão
Exemplo de dicionário
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 21 de 76
Estatística
Linguagem Python
Patrícia Quintão
15. FUNÇÕES
Funções são definidas usando a palavra-chave def, seguida pelo nome da função e
parênteses. O corpo da função é indentado.
• As funções são blocos de código que apenas são executados quando são chamados;
• As funções podem:
− receber dados através de parâmetros; e
− retornar dados como resultado;
• Python permite a definição de funções por meio da palavra-chave def, seguida do
nome da função e parênteses (Exemplo: def NomeFuncao(parametrosFuncao)).
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 22 de 76
Estatística
Linguagem Python
Patrícia Quintão
Sintaxe:
def nomeFuncao([parâmetro formal 1, parâmetro formal 2,...]):
bloco de instruções
[return] valor
EXEMPLOS
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(1, 11))
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 23 de 76
Estatística
Linguagem Python
Patrícia Quintão
a) Certa. O comando range(4,6) gera uma sequência que começa em 4 e vai até, mas não
inclui, 6. Portanto, temos que range(4,6) retornará a lista [4, 5].
Vamos aos detalhes da função range no Python:
start: número de início.
Nesse caso, conta de start (incluso) até stop (não-incluso).
class range(start, stop[, step])
Por padrão, o step tem valor igual a 1. Se step for fornecido, faz a
iteração de step em step.
Class range(stop) Se o argumento start for omitido, o valor padrão é 0.
b) Errada. O comando range(5) gera uma sequência que começa em 0 e vai até, mas não
inclui, 5. Assim, a lista gerada seria [0, 1, 2, 3, 4].
Observe então que range(5) retorna a lista [0, 1, 2, 3, 4].
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 24 de 76
Estatística
Linguagem Python
Patrícia Quintão
c) Errada. Como mencionado na assertiva (a), range(4,6) gera a lista [4, 5], não uma lista
extensa como [4, 5, 6, 7, 8, 9].
d) Errada. Temos que range(5,1) retorna [ ] porque o step padrão é 1 e o stop é menor que
o start.
Em outras palavras: o comando range(5,1) não gera uma lista, pois o segundo argumento
é menor que o primeiro e não foi especificado um passo negativo. Portanto, ele gera uma
sequência vazia.
e) Errada. Temos que range(5,1,-2) retorna [5, 3] porque o step é negativo.
O comando range(5,1,-2) gera uma sequência que começa em 5 e decrementa de 2 em 2
até ser maior que 1. A lista gerada seria [5, 3].
Letra a.
print k
Assinale a opção que indica o número de valores printados na execução desse código.
a) Zero.
b) Um.
c) Dois.
d) Quatro.
e) Cinco.
Análise do código:
• range(0, 4, -1): este comando tenta gerar uma sequência que começa em 0 e vai até
4, decrementando de 1 em 1;
• Passo Negativo (-1): um passo negativo significa que o valor inicial deveria ser maior
que o valor final para que a sequência fosse gerada. No entanto, como o valor inicial
(0) não é maior que o valor final (4), a sequência gerada é vazia.
A função range(0, 4, -1) irá retornar os valores iniciando em zero e terminando em 4 (não
incluso), com um step (passo) de -1 em -1.
Mas, de -1 em -1, nunca chegaremos a 4, e a função range, portanto, não retornará nenhum valor.
Resultado: nenhum valor será printado, pois a sequência gerada por range(0, 4, -1) é vazia.
Portanto, a opção correta é: a) Zero.
Letra a.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 25 de 76
Estatística
Linguagem Python
Patrícia Quintão
RESUMO
• Python é uma linguagem de programação de alto nível, interpretada e de propósito
geral. É conhecida por sua sintaxe clara e legível, o que facilita o aprendizado e a
manutenção do código.
• Características principais:
− Fácil de aprender: sintaxe simples e direta, ideal para iniciantes;
− Versátil: usada em desenvolvimento web, análise de dados, inteligência artificial,
automação, entre outros;
− Comunidade ativa: possui grande quantidade de bibliotecas e suporte comunitário;
− Python é Open Source, o que significa que seu código-fonte está disponível para
qualquer pessoa ver, modificar e distribuir. Isso promove uma comunidade ativa
e colaborativa que contribui para o desenvolvimento contínuo da linguagem. A
natureza open source de Python permite que desenvolvedores personalizem a
linguagem para atender a necessidades específicas e compartilhem melhorias
com a comunidade global;
− Python é multiplataforma, podendo ser executado em vários sistemas opera-
cionais, incluindo Windows, macOS e Linux, sem a necessidade de modificações
significativas no código. Isso facilita o desenvolvimento e a implantação de apli-
cações Python em ambientes diversos, garantindo que o software seja acessível
a uma ampla gama de usuários;
− Python é uma linguagem interpretada, o que significa que seu código é executado
linha por linha por um interpretador. Isso permite um ciclo de desenvolvimento
rápido, pois os desenvolvedores podem testar e modificar o código rapidamente
sem a necessidade de um processo de compilação demorado. Essa característica
também torna Python altamente portátil, já que o mesmo código pode ser exe-
cutado em qualquer sistema com um interpretador Python;
− Python possui tipagem dinâmica, pois o tipo das variáveis é determinado em
tempo de execução. Os programadores não precisam declarar explicitamente o
tipo de uma variável, o que simplifica o código e permite maior flexibilidade na
programação. Isso facilita a escrita de código, embora exija atenção para evitar
erros de tipo durante a execução;
− Python possui tipagem forte, já que não permite operações entre tipos incom-
patíveis sem conversão explícita. Isso ajuda a evitar erros comuns relacionados a
operações inválidas entre diferentes tipos de dados, aumentando a segurança e
a confiabilidade do código;
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 26 de 76
Estatística
Linguagem Python
Patrícia Quintão
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 27 de 76
Estatística
Linguagem Python
Patrícia Quintão
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 28 de 76
Estatística
Linguagem Python
Patrícia Quintão
• 1. Listas:
− Definição: listas são coleções ordenadas e mutáveis de elementos. Elas podem
conter elementos de tipos diferentes e permitem duplicatas;
− Sintaxe: listas são definidas usando colchetes [].
EXEMPLO
frutas = [“maçã”, “banana”, “cereja”]
[Link](“laranja”) # Adiciona um elemento
• 2. Tuplas:
− Definição: tuplas são coleções ordenadas e imutáveis. Uma vez criadas, seus ele-
mentos não podem ser alterados;
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 29 de 76
Estatística
Linguagem Python
Patrícia Quintão
EXEMPLO
coordenadas = (10.0, 20.0)
# coordenadas[0] = 15.0 # Isso causaria um erro, pois tuplas são imutáveis
• 3. Conjuntos (Sets):
− Definição: conjuntos são coleções não ordenadas de elementos únicos. Eles são
úteis para operações de conjunto, como união e interseção;
− Sintaxe: conjuntos são definidos usando chaves {} ou a função set().
EXEMPLO
numeros = {1, 2, 3, 4}
[Link](5) # Adiciona um elemento
• 4. Dicionários:
− Definição: dicionários são coleções não ordenadas de pares chave-valor. Eles são
ideais para armazenar dados associados, como um mapa;
− Sintaxe: dicionários são definidos usando chaves {} com pares chave: valor sepa-
rados por dois pontos.
EXEMPLO
aluno = {“nome”: “João”, “idade”: 20}
print(aluno[“nome”]) # Acessa o valor associado à chave “nome”
• Características Comuns:
− Iteração: todas as coleções suportam iteração, permitindo que você percorra seus
elementos em um loop;
− Compreensões: Python oferece compreensões para listas, conjuntos e dicionários,
permitindo a criação concisa e expressiva de coleções.
EXEMPLO
quadrados = [x**2 for x in range(10)] # Lista de quadrados dos números de 0 a 9
• Aplicações:
− Listas: úteis quando você precisa de uma coleção ordenada e mutável;
− Tuplas: ideais para coleções de tamanho fixo e quando a imutabilidade é desejada;
− Conjuntos: úteis para operações matemáticas e garantias de unicidade;
− Dicionários: perfeitos para armazenar e acessar dados por chave.
• Essas coleções fornecem uma base poderosa e flexível para a manipulação de dados
em Python, permitindo que você escolha a estrutura mais adequada para suas
necessidades específicas.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 30 de 76
Estatística
Linguagem Python
Patrícia Quintão
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 31 de 76
Estatística
Linguagem Python
Patrícia Quintão
print k
Assinale a opção que indica o número de valores printados na execução desse código.
a) Zero.
b) Um.
c) Dois.
d) Quatro.
e) Cinco.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 32 de 76
Estatística
Linguagem Python
Patrícia Quintão
EXERCÍCIOS
Caso seja passado como valor de X o número 27, o resultado apresentado será:
a) 144
b) 196
c) 204
d) 222
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 33 de 76
Estatística
Linguagem Python
Patrícia Quintão
a) except
b) termination
c) try
d) finally
e) Raise
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 34 de 76
Estatística
Linguagem Python
Patrícia Quintão
[Link] 35 de 76
Estatística
Linguagem Python
Patrícia Quintão
L1=[10,20,30]
L2=[40,50]
[Link](L2)
print L1
Assinale a opção que descreve corretamente o que acontece quando esse programa é
executado no Python 2.7.
a) Produz uma mensagem de erro, porque tenta executar uma operação inválida.
b) Exibe “[10, 20, 30, [40, 50]]”.
c) Exibe “[10, 20, 30, 40, 50]”.
d) Exibe “[10, 20, 30], [40, 50]”.
e) Exibe “[]”.
019. (INÉDITA/2024) Em vez de vetores, Python inclui somente dois tipos de estrutura
de dados: listas e dispersões, chamadas de dicionários. R é uma linguagem e também um
ambiente de desenvolvimento integrado para cálculos estatísticos e gráficos.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 36 de 76
Estatística
Linguagem Python
Patrícia Quintão
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 37 de 76
Estatística
Linguagem Python
Patrícia Quintão
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 38 de 76
Estatística
Linguagem Python
Patrícia Quintão
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 39 de 76
Estatística
Linguagem Python
Patrícia Quintão
a) [Link](a)
a, b = b, a+b
b) [Link](a)
a, b = b, a+b
c) [Link](a)
a, b = b, a+b
d) [Link](a)
a, b = a, a+b
e) [Link](a)
a, b = a+b, b
O trecho exibe:
a) [7, 6, 5]
b) [7]
c) []
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 40 de 76
Estatística
Linguagem Python
Patrícia Quintão
d) [7, 6, 5, 4, 3, 2]
e) [7, 6, 5, 4, 3, 2, 1]
a) Ocorrerá um erro de execução na linha “def tipo(self):” logo abaixo de “class Basset(Cachorro):”.
b) A execução de “print([Link]())” mostrará o valor “10” na saída padrão.
c) A execução de “print([Link]())” mostrará o valor “100” na saída padrão.
d) Ocorrerá um erro de execução na linha “print([Link]())”.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 41 de 76
Estatística
Linguagem Python
Patrícia Quintão
L=[1,2,3,4,5,6,7,8]
print L[::-1]
Ao ser executado, o resultado exibido é:
a) [1, 2, 3, 4, 5, 6, 7, 8]
b) [8]
c) [ ]
d) [8, 7, 6, 5, 4, 3, 2, 1]
e) [1]
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 42 de 76
Estatística
Linguagem Python
Patrícia Quintão
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.
044. (INÉDITA/2024) Em Python, as listas são mutáveis, o que significa que seus elementos
podem ser alterados após a criação da lista.
046. (INÉDITA/2024) A função len() pode ser usada para obter o número de elementos em
uma tupla.
048. (INÉDITA/2024) A instrução pass em Python é usada para indicar que nada deve ser
feito, e é frequentemente usada como um espaço reservado em blocos de código.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 43 de 76
Estatística
Linguagem Python
Patrícia Quintão
GABARITO
1. E 35. d
2. C 36. c
3. E 37. a
4. a 38. e
5. a 39. d
6. b 40. a
7. b 41. C
8. d 42. b
9. d 43. C
10. a 44. C
11. d 45. E
12. C 46. C
13. c 47. E
14. E 48. C
15. c 49. E
16. b 50. C
17. b
18. b
19. E
20. a
21. e
22. d
23. d
24. E
25. a
26. d
27. c
28. a
29. a
30. C
31. E
32. d
33. e
34. c
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 44 de 76
Estatística
Linguagem Python
Patrícia Quintão
GABARITO COMENTADO
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 45 de 76
Estatística
Linguagem Python
Patrícia Quintão
Caso seja passado como valor de X o número 27, o resultado apresentado será:
a) 144
b) 196
c) 204
d) 222
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 46 de 76
Estatística
Linguagem Python
Patrícia Quintão
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 47 de 76
Estatística
Linguagem Python
Patrícia Quintão
Python é uma linguagem com verificação de tipos, mas tipada dinamicamente (com
tipagem dinâmica), o que significa que o próprio interpretador infere os tipos de dados
SEM a necessidade de o desenvolvedor informar.
Veja a seguir as características de tipagem das variáveis Python:
Tipagem forte Não permite fazer operações com tipos que sejam incompatíveis
Tipagem dinâmica O tipo de variável pode mudar ao longo do programa.
Letra a.
[Link] 48 de 76
Estatística
Linguagem Python
Patrícia Quintão
[Link] 49 de 76
Estatística
Linguagem Python
Patrícia Quintão
III – Certo. A lista é um tipo de dados variável que permite a alteração de seus elementos
após a sua criação.
Logo, apenas os itens I e III estão corretos.
Letra d.
Uma lista (List) é uma coleção ordenada e modificável. Em Python, listas são escritas com
colchetes [].
Veja a seguir os quatro tipos de coleções existentes no Python:
Certo.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 50 de 76
Estatística
Linguagem Python
Patrícia Quintão
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 51 de 76
Estatística
Linguagem Python
Patrícia Quintão
if 5 > 2
{
print(“True!”)
}
A sintaxe do programa está correta e, quando executado, ele apresentará o seguinte resultado.
True!
A sintaxe utilizada está incorreta, pois possui erro de sintaxe, em virtude de utilização
indevida das chaves. Também não foi inserida a indentação do código. Vide o erro destacado
na figura seguinte.
Errado.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 52 de 76
Estatística
Linguagem Python
Patrícia Quintão
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 53 de 76
Estatística
Linguagem Python
Patrícia Quintão
c) IV e V.
d) I e IV.
e) II e V.
Vamos analisar cada uma das afirmativas sobre a tipagem de dados na linguagem Python:
I – Certo. Em Python, o tipo de uma variável é determinado em tempo de execução, permitindo
que o tipo de uma variável mude dinamicamente.
II – Certo. Python é fortemente tipado, o que significa que não permite operações entre
tipos incompatíveis sem conversão explícita.
III – Errado. Python possui tipagem; ela é dinâmica e forte.
IV – Errado. Python não é fracamente tipado; ele é fortemente tipado.
V – Errado. Python não possui tipagem estática, pois os tipos são determinados em tempo
de execução, não em tempo de compilação.
Letra b.
L1=[10,20,30]
L2=[40,50]
[Link](L2)
print L1
Assinale a opção que descreve corretamente o que acontece quando esse programa é
executado no Python 2.7.
a) Produz uma mensagem de erro, porque tenta executar uma operação inválida.
b) Exibe “[10, 20, 30, [40, 50]]”.
c) Exibe “[10, 20, 30, 40, 50]”.
d) Exibe “[10, 20, 30], [40, 50]”.
e) Exibe “[]”.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 54 de 76
Estatística
Linguagem Python
Patrícia Quintão
O print() é uma função do Python utilizada para imprimir alguma mensagem na tela.
O uso de parênteses no comando PRINT se tornou obrigatório a partir da versão 3.X
do Python. Observe na figura seguinte o erro reportado pela falta de parênteses. Após
correção, tivemos sucesso!
O comando [Link](L2) irá inserir o conteúdo de L2 ao final de L1. Mas, observe que o
método append inclui a lista L2 como se fosse só um elemento, assim L2 é tratado como
se fosse uma coisa só nesse contexto! Teremos então L1=[10,20,30,[40,50]] e essa lista
final possui 4 elementos ao invés de 5. Cuidado com essa pegadinha, a grande maioria dos
concurseiros marcaria a letra C como resposta, caso não tivesse prestado atenção!
Quando esse programa for executado, então exibirá o valor de L1 que é [10,20,30,[40,50]].
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 55 de 76
Estatística
Linguagem Python
Patrícia Quintão
Letra b.
019. (INÉDITA/2024) Em vez de vetores, Python inclui somente dois tipos de estrutura
de dados: listas e dispersões, chamadas de dicionários. R é uma linguagem e também um
ambiente de desenvolvimento integrado para cálculos estatísticos e gráficos.
Em vez de vetores, Python inclui os seguintes tipos de estrutura de dados: listas; listas
imutáveis, chamadas de tuplas; dispersões, chamadas de dicionários, e conjuntos.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 56 de 76
Estatística
Linguagem Python
Patrícia Quintão
Observe que a indentação do código não foi respeitada, ocasionando erro de sintaxe. O
for abriu um bloco (:), no entanto não possui nenhum conteúdo. O print está fora do for.
Assim, é retornado um erro de sintaxe, e a letra A é a resposta.
Letra a.
[Link] 57 de 76
Estatística
Linguagem Python
Patrícia Quintão
a) Errada. A Python é uma linguagem de alto nível e robusta. Ela possui seu próprio framework,
que é incompatível com frameworks de terceiros.
b) Errada. A Python utiliza a duck typing (tipagem dinâmica), o que significa que o próprio
interpretador infere os tipos de dados SEM a necessidade de o desenvolvedor informar.
Assim não é necessário definir um tipo para variável antes de ela ser criada – isso pode ser
inferido pelo interpretador.
c) Errada. O caractere “#” marca o início de comentário. Qualquer texto depois do “#”será
ignorado até o fim da linha.
d) Errada. Os tipos podem ser mutáveis ou imutáveis (não modificável).
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 58 de 76
Estatística
Linguagem Python
Patrícia Quintão
A linguagem Python é uma linguagem de alto nível construída para trabalhar com o conceito
de produtividade e legibilidade.
A legibilidade visa tornar simples, porém eficaz, a escrita do código. Nas estruturas de
controle condicional, por exemplo, a forma correta na escrita é if e else. Caso haja condições
intermediárias usa-se elif.
Veja um exemplo:
EXEMPLO
1 idade = int(input(‘Digite sua idade: ‘))
2 if idade >= 10 and idade < 20:
3 print(‘Você é adolescente’)
4 elif idade >= 20 and idade < 30:
5 print(‘Você é jovem’)
6 elif idade >= 30 and idade <= 100:
7 print(‘Você é adulto’)
8 else:
9 print(‘idade não encontrada!’)
Letra d.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 59 de 76
Estatística
Linguagem Python
Patrícia Quintão
Os comentários incluídos nas linhas dos scripts Python não são processados, uma vez que
correspondem a notas explicativas que têm o objetivo de descrever algo que se tenha
necessidade, para melhor organizar os códigos.
Errado.
A linguagem Python é uma linguagem de alto nível, orientada a objetos, e possui classes,
métodos, herança etc. No Python há uma classe chamada String que possui vários métodos
capazes de trabalhar com informações de texto (strings). O método capitalize tem como
ação transformar o primeiro caractere da string em maiúscula.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 60 de 76
Estatística
Linguagem Python
Patrícia Quintão
Veja exemplo:
EXEMPLO
info = ‘o Brasil é um país ocidental’
[Link]()
‘O Brasil é um país ocidental’
Outros exemplos:
EXEMPLOS
1) Separar onde houver espaço:
[Link]( )
‘O’, ‘Brasil’, ‘é’, ‘um’, ‘país’, ‘ocidental’
2) Substituir uma palavra por outra:
[Link](‘ocidental’, ‘tropical’)
‘O Brasil é um país tropical’
3) Retorna o número de ocorrências de substring
[Link](‘s’)
2
Letra d.
Na linguagem Python a sentença raise é usada para provocar uma exceção, que pode ser
tratada pelo código que chamou aquela parte do programa.
Veja exemplo:
EXEMPLO
No trecho de código abaixo na linguagem Python há uma verificação condicional para o valor
da variável y. Caso y assuma o valor zero (0), uma exceção (ZeroDivisionError) é invocada neste
ponto do código e o desenvolvedor tem a opção de fazer o tratamento no próprio trecho do
algoritmo, impedindo a divisão por zero.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 61 de 76
Estatística
Linguagem Python
Patrícia Quintão
1 z, y = 1, 0
2 if y == 0:
3 raise ZeroDivisionError
4 else:
5 print ‘%d dividido por %d é %d’ % (z, y, z/y)
Letra c.
Uma função é um bloco de comandos que realiza uma ação para quem a chama. É possível
passar dados, chamados de parâmetros ou argumentos, dentro de uma função que também
pode retornar valores para quem a chamou.
Na linguagem Python, há muitas funções previamente construídas que podem ser usadas,
entretanto, é permitido ao desenvolvedor a definição ou criação de uma função devendo
usar a cláusula DEF.
Veja exemplo:
EXEMPLO
A questão propõe a criação de uma função chamada “calcular” que recebe dois valores
a e b. No exemplo, a função calcular (linhas 1 a 3) é definida recebendo os valores como
argumentos e realiza a soma destes. Esta função retorna, por meio do comando return (linha
3), o resultado da operação. Na linha 5, a função é chamada passando os valores 3 e 6 que
devolve o resultado imprimindo na tela.
1 def calcular(a,b):
2 result=a+b
3 return result
4
5 print(calcular(3,6))
Letra a.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 62 de 76
Estatística
Linguagem Python
Patrícia Quintão
Na linguagem Python, uma lista é representada como uma sequência de objetos (elementos)
e dispõe de vários métodos e operadores para sua manipulação. Cada elemento da lista
contém um índice que começa em zero (0). A seguir destacamos a funcionalidade de cada
método proposto na questão:
Remove um item da lista em que o valor é passado como argumento.
[Link]()
Caso haja valores iguais o método remove o primeiro deles.
[Link]() Remove e retorna o último item da lista.
[Link]() Acrescenta o elemento passado como parâmetro à lista.
[Link]() Retorna o índice do elemento passado como parâmetro.
Letra a.
EXEMPLO
Veja trecho de código
1 idade = int(input(‘Digite sua idade: ‘))
2 if idade >= 10 and idade < 20:
3 print(‘Você é adolescente’)
Certo.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 63 de 76
Estatística
Linguagem Python
Patrícia Quintão
Python é uma linguagem livre de alto nível, orientada a objetos, de leitura simples, e que
permite indentação de linhas de código.
Errado.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 64 de 76
Estatística
Linguagem Python
Patrícia Quintão
A partir daí, seguiremos o mesmo raciocínio: basta ir comparando “i” com o próximo número
e trocando de lugar se o número seguinte for menor. Assim, teremos:
Linha 2: [1, 3, 4, 7, 2, 5, 8, 9]
Linha 3: [1, 3, 4, 2, 5, 7, 8, 9]
Linha 4: [1, 3, 2, 4, 5, 7, 8, 9]
A quarta linha impressa garante que os valores 9, 8, 7,5 já estejam ordenados e terá o
seguinte resultado: [1, 3, 2, 4, 5, 7, 8, 9], sendo D a alternativa correta.
Letra d.
Na linguagem Python, o operador lógico de conjunção (“e”) é “and” e não “&&” como afirma
a alternativa E.
EXEMPLO
Veja trecho de código
1 idade = int(input(‘Digite sua idade: ‘))
2 if idade >= 10 and idade < 20:
3 print(‘Você é adolescente’)
Letra e.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 65 de 76
Estatística
Linguagem Python
Patrícia Quintão
a) [Link](a)
a, b = b, a+b
b) [Link](a)
a, b = b, a+b
c) [Link](a)
a, b = b, a+b
d) [Link](a)
a, b = a, a+b
e) [Link](a)
a, b = a+b, b
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 66 de 76
Estatística
Linguagem Python
Patrícia Quintão
O trecho exibe:
a) [7, 6, 5]
b) [7]
c) []
d) [7, 6, 5, 4, 3, 2]
e) [7, 6, 5, 4, 3, 2, 1]
A função range na linguagem Python pode ser entendida como: range(início, fim, passo).
O início é baseado no índice zero (0) e o fim é o índice final, com intervalo aberto, ou seja,
não está incluído. O passo é o salto ou diferença entre os índices.
Na questão, a função range formará os números de 10 até 2 (o 1 será excluído) com passo
-1, ou seja, decrescente. X = 10 9 8 7 6 5 4 3 2.
O comando print vai exibir os itens da lista a partir da posição de índice 3 até o fim [7, 6,
5, 4, 3, 2], sendo a alternativa D correta.
Letra d.
a) Ocorrerá um erro de execução na linha “def tipo(self):” logo abaixo de “class Basset(Cachorro):”.
b) A execução de “print([Link]())” mostrará o valor “10” na saída padrão.
c) A execução de “print([Link]())” mostrará o valor “100” na saída padrão.
d) Ocorrerá um erro de execução na linha “print([Link]())”.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 67 de 76
Estatística
Linguagem Python
Patrícia Quintão
No trecho de código da questão, nota-se uma relação de herança entre classes. Ou seja, a
classe Basset herda da classe Cachorro. É possível observar ainda o método tipo da classe
Cachorro sendo redefinido na classe filha Basset. Deste modo, se um objeto for instanciado
a partir da classe filha Basset ele irá se comportar conforme sua redefinição.
Nas últimas duas linhas do trecho de código da questão serão impressos, respectivamente,
os valores “10” e “100”. Deste modo, a alternativa correta é letra C. O objeto cachorro2 é
instanciado a partir da classe Basset e, portanto, a saída é 100.
Letra c.
Em versões anteriores do Python (2.0), para a entrada de dados do tipo String era necessário
usar raw_input. Porém, em versões mais atuais da linguagem (3.0 e superior), o comando
input captura os dados como string também.
Apesar da questão não ter citado a versão da linguagem Python, raw_input é específico
para lidar com valores do tipo String e a alternativa correta é A (str).
Letra a.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 68 de 76
Estatística
Linguagem Python
Patrícia Quintão
[Link] 69 de 76
Estatística
Linguagem Python
Patrícia Quintão
Em python, os elementos de uma lista são definidos por colchetes e separados por vírgula.
Uma forma simplificada de imprimir os elementos é por meio do comando PRINT com a
seguinte regra: [ElementoInicial:ElementoFinal:Salto].
Na questão, somente é especificado o salto que é -1. Deste modo, o Python entende que
deve percorrer imprimindo os elementos de trás para frente (passo -1), sendo a alternativa
correta a letra D.
Letra d.
x = y + y
return x
x = 5
dobra(x)
dobra(x)
print x
O valor impresso ao executarmos o programa é:
a) 5
b) 10
c) 15
d) 25
Nesta questão na linguagem Python há a definição de uma função chamada “dobra” que
recebe um argumento de entrada e realiza uma operação soma (o dobro do valor), armazena
o resultado em uma variável e retorna este valor (retorn x).
Nas quatro últimas linhas há um programa que chama a função “dobra”. Primeiramente
é atribuído à variável x o valor de 5. Em seguida, a função “dobra” é chamada duas vezes,
consecutivamente, passando como argumento a variável x. Entretanto, o valor de x não
é alterado, porque não há atribuição à variável x, permanecendo seu valor inalterada. Ao
final, o valor exibido para x será o mesmo, ou seja, 5.
Letra a.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 70 de 76
Estatística
Linguagem Python
Patrícia Quintão
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 e palmtops (Wikipedia, 2020).
Para algum sistema operacional não suportado, basta que exista um compilador C disponível
e 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 (Wikipedia, 2020).
Certo.
L=range(0,12)
print L
produzem:
a) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
b) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
c) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
d) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12]
e) uma mensagem de erro
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 71 de 76
Estatística
Linguagem Python
Patrícia Quintão
Em range(0, 12), a função range cria uma lista de números que se seguem um após o
outro (os números foram dados como parâmetros). Mas, note que o segundo desses dois
números não está incluído na lista que o Python mostrará. Assim, em range(0, 12), conta
de 0 a 11, e o 12 não é incluído, porque o intervalo é semiaberto, o que significa que ele
inclui o primeiro valor, mas não o último. Como resposta, teremos o intervalo [0, 1, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11].
Letra b.
A análise da afirmação sobre a tipagem das linguagens Perl, Python, C e Java é a seguinte:
**Perl e Python são dinamicamente tipadas
A afirmação está correta. Tanto Perl quanto Python são linguagens dinamicamente tipadas,
o que significa que o tipo das variáveis é determinado em tempo de execução. Isso permite
uma maior flexibilidade, pois você não precisa declarar explicitamente o tipo de uma variável
ao defini-la.
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.
**C e Java são estaticamente tipadas
C: A afirmação está correta. C é uma linguagem estaticamente tipada, o que significa que
o tipo das variáveis deve ser declarado em tempo de compilação. Isso implica que o tipo
de cada variável é conhecido e verificado pelo compilador antes da execução do programa.
Java: A afirmação está correta. Java também é uma linguagem estaticamente tipada,
exigindo que o tipo de cada variável seja declarado em tempo de compilação. Isso ajuda a
detectar erros de tipo durante o desenvolvimento, antes de o código ser executado.
Portanto, a afirmação é precisa em sua descrição das características de tipagem dessas linguagens.
Certo.
044. (INÉDITA/2024) Em Python, as listas são mutáveis, o que significa que seus elementos
podem ser alterados após a criação da lista.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 72 de 76
Estatística
Linguagem Python
Patrícia Quintão
Listas em Python são mutáveis, permitindo que seus elementos sejam modificados,
adicionados ou removidos após a criação.
Certo.
046. (INÉDITA/2024) A função len() pode ser usada para obter o número de elementos em
uma tupla.
A função len() pode ser usada em qualquer coleção que suporte a operação de comprimento,
incluindo tuplas, listas, strings, e dicionários.
Certo.
048. (INÉDITA/2024) A instrução pass em Python é usada para indicar que nada deve ser
feito, e é frequentemente usada como um espaço reservado em blocos de código.
pass é uma instrução nula que é usada quando uma declaração é sintaticamente necessária,
mas não é necessário executar nenhuma ação.
Certo.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 73 de 76
Estatística
Linguagem Python
Patrícia Quintão
Embora None seja avaliado como False em um contexto booleano, ele não é equivalente a
False. None é um objeto especial que representa a ausência de valor.
Errado.
A função range(5) gera uma sequência de números começando em 0 até 4, que são os
índices padrão do intervalo especificado.
Certo.
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 74 de 76
Estatística
Linguagem Python
Patrícia Quintão
REFERÊNCIAS
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.
[Link] 75 de 76
Abra
caminhos
crie
futuros
[Link]
O conteúdo deste livro eletrônico é licenciado para wendersullivan21@[Link] - , vedada, por quaisquer meios e a qualquer título,
a sua reprodução, cópia, divulgação ou distribuição, sujeitando-se aos infratores à responsabilização civil e criminal.