Escolar Documentos
Profissional Documentos
Cultura Documentos
Objetivos da Unidade:
ʪ Material Teórico
ʪ Material Complementar
ʪ Referências
TEMA 1 de 3
ʪ Material Teórico
Python é uma linguagem de programação de aplicação geral e possui uma sintaxe simples e fácil
de usar. Isso torna o Python uma excelente linguagem para aprender a programar, destacamos
algumas características:
Uso geral: Python pode ser usado para quase tudo. É aplicável a quase todos os
campos para uma variedade de tarefas. Seja a execução de tarefas de curto prazo
como teste de software ou desenvolvimento de software para uso ao longo prazo;
Linguagem com tipagem dinâmica (Duck typing): Em Python, não é preciso declarar
o tipo de dados ao declarar uma variável. O interpretador determina o tipo de dados
em tempo de execução.
Leitura
Duck Typing com Python
ACESSE
Leitura
Framework: Saiba como Usar e quais são os Mais Populares
ACESSE
Nas próximas etapas de nossa Unidade de estudo, iremos aprender como baixar o Python, criar
nossos primeiros códigos e estudar sobre conceitos de variáveis. Ao longo dos estudos, será
proveitoso visitar em paralelo, conceitos de desenvolvimento de algoritmos.
1 Faça o download do instalador do Python 3 com a versão mais recente por meio do
site;
Site
Download Python
ACESSE
Figura 1 – Página de download do Python
Fonte: Adaptada python.org
4 Caso seu Windows solicite permissão para seguir a instalação, clique em SIM;
Sites
Caso não consiga instalar o Python, os estudos poderão seguir
utilizando ferramentas online de compilação. Como sugestão, pode-se
utilizar as ferramentas indicadas a seguir.
ACESSE
Leitura
IDLE – Modo Interativo do Python
ACESSE
Nessa etapa, iremos aprender como criar e executar nossos códigos em Python.
Para criar códigos em Python, iremos utilizar o IDLE, para isso, localize-o em seu sistema
operacional e execute o programa.
Ao iniciar o IDLE, a tela aberta será o interpretador Python. Essa aplicação será a responsável por
executar nossos programas em Python.
Para o nosso primeiro programa, iremos criar o tradicional “olá, mundo”. Para isso, usaremos a
função “print” do Python. Utilizamos essa função para apresentar alguma informação na tela,
para isso, entre os parênteses da função print e entre aspas duplas, digitamos o que queremos
que seja visualizado na tela. Assim, digite na tela de digitação de scripts:
print("Ola, Mundo!!")
Em seguida, para executar o programa, clique no botão “Run”, opção Run Module. Você pode
também pressionar a tecla F5 de seu teclado.
Figura 6 – Tela de digitação de scripts – Executando scripts
Fonte: Acervo do Conteudista
Como o arquivo não foi salvo, a ferramenta solicita que se salve o programa. Clique no botão
“OK” e em seguida escolha um local em seu computador e salve seu programa.
Vale lembrar que a linguagem Python é Case-sensitive, ou seja, diferencia letras maiúsculas de
minúsculas em sua codificação. Assim, por exemplo, o identificador “pessoa” é diferente de
“Pessoa”.
Afinal, o que são variáveis? Uma variável é uma área de armazenamento que nossos programas
podem manipular, são localizações de memória reservadas para armazenar valores, desse modo,
ao criar uma variável, é reservado algum espaço na memória do computador que está
executando o programa.
Por conta da característica de tipagem dinâmica, ao declarar uma variável, não é preciso indicar
de forma explícita o tipo de dados que serão armazenados. A declaração ocorre automaticamente
quando você atribui um valor a uma variável.
O sinal de igual (=) é usado para atribuir valores às variáveis. A descrição à esquerda do operador
= é o nome da variável e a descrição à direita do operador = é o valor armazenado na variável.
Figura 9
As variáveis podem ter letras (A-Z e a-z), dígitos (0-9) e sublinhados (_);
Tabela 1
global if import in is
Boolean;
List;
Tuple;
Dicitonary.
idade = 20
email = "joao@gmail.com"
Figura 10
Fonte: Acervo do Conteudista
Saída:
Figura 11
Fonte: Acervo do Conteudista
Explicando o Código
ACESSE
Podemos atribuir valores em uma mesma linha a múltiplas variáveis. Para isso, basta digitar os
valores separados por vírgula.
Figura 12
Fonte: Acervo do Conteudista
Saída:
Figura 13
Fonte: Acervo do Conteudista
Podemos também atribuir valores às variáveis de acordo com o valor armazenado em outra
variável. Por exemplo:
Figura 14
Fonte: Acervo do Conteudista
Saída:
Figura 15
Fonte: Acervo do Conteudista
É importante ressaltar que a cada vez que é utilizado o sinal de = para atribuir um valor a uma
variável, caso tenha nessa variável algum valor atual, o valor será atualizado. Por exemplo:
Figura 16
Fonte: Acervo do Conteudista
O valor que será exibido para a variável “a” será 1, pois embora na linha 1 tenha sido atribuído o
valor 5, na linha 4 foi atribuído o valor 1, uma vez que o Python executa linha a linha suas
instruções. Já o valor da variável “c” será 5, pois no momento que foi atribuído o valor para a
variável “c”, o valor da variável “a” ainda era 5.
Saída:
Figura 17
Fonte: Acervo do Conteudista
Vejamos o mesmo exemplo, porém exibindo os resultados antes e depois da nova atribuição
para a variável “a”.
Figura 18
Fonte: Acervo do Conteudista
Saída:
Figura 19
Fonte: Acervo do Conteudista
Por conta da característica de tipagem dinâmica, uma mesma variável pode ter diversos tipos
diferentes de dados atribuídos no mesmo programa. Vejamos um exemplo:
Figura 20
Fonte: Acervo do Conteudista
Saída:
Figura 21
Fonte: Acervo do Conteudista
Exemplo 1
Em muitas soluções, devemos solicitar dados ao usuário do programa. Para isso, a partir de
agora iremos utilizar a função “input” em nossos programas sempre que desejarmos que o
usuário insira um dado.
Por exemplo, vamos criar um programa que solicita o nome do usuário e exibe na tela uma
saudação com seu nome.
Saída:
Figura 24
Fonte: Acervo do Conteudista
Explicando o Código
Exemplo 2
Em muitos cenários, como quando precisamos manipular números para efetuar operações
aritméticas, precisamos de alguma forma armazenar esses dados como um tipo número.
Sabemos que a função “input” sempre retorna um tipo string. A estratégia será converter o valor
vindo da função “input”.
Em nosso segundo exemplo, iremos desenvolver um programa que irá solicitar ao usuário seu
nome, idade e altura. Para cada variável, iremos armazenar como tipos diferentes: string, inteiro
e real.
Figura 25
Fonte: Acervo do Conteudista
Saída:
Figura 26
Fonte: Acervo do Conteudista
Explicando o Código
A sintaxe para a conversão dos dados da função input para os tipos de número inteiro e real, é:
Figura 27
Figura 28
É importante ressaltar que se o usuário digitar um número real (um número com casas
decimais, por exemplo) para um input convertendo em int, o número digitado com casas
decimais será armazenado como um inteiro.
Destaca-se também que a tentativa de se converter uma cadeia de caracteres em algum tipo de
número acarretará erro de execução do programa.
Em Síntese
Nesta Unidade, além de aprendermos a instalar o ambiente de
desenvolvimento Python, estudamos os conceitos de identificadores,
uso e atribuição de valores de variáveis e comandos de entrada (input) e
saída (print). É importante que assista à videoaula da Unidade e que leia
os livros e materiais complementares indicados.
TEMA 2 de 3
ʪ Material Complementar
Vídeos
Leitura
ACESSE
ʪ Referências
BANIN, S. L. Python 3: conceitos e aplicações - Uma abordagem didática. São Paulo: Érica, 2018.
(e-book)
Objetivos da Unidade:
ʪ Material Teórico
ʪ Material Complementar
ʪ Referências
1 /3
ʪ Material Teórico
Operadores
Um operador é um símbolo que informa ao programa, quais manipulações matemáticas ou
lógicas o programa deve executar. A linguagem Python é rica em operadores e fornece o seguinte
tipo de operadores: operadores aritméticos; relacionais; lógicos e de concatenação:
Operadores Aritméticos
Operadores aritméticos são utilizados para elaboração e execução de cálculos matemáticos. Em
Python, temos os seguintes operadores:
Quadro 1
Operador divisão de
números inteiros. Resulta
// MinhaVariavel = 9//2
somente na parte inteira da
divisão
ACESSE
Explicando o Código
Linha 3: declaramos uma variável com o nome de “b” e atribuímos, por meio do
sinal de “igual” o valor “3”;
Linha 7: utilizamos a função “print” para imprimir na tela o valor contido na variável
“resultado” (5);
Linha 15: utilizamos a função “print” para imprimir na tela o valor contido na
variável “resultado” (6);
Linha 19: utilizamos a função “print” para imprimir na tela o valor contido na
variável “resultado” (0,6666);
Linha 23: utilizamos a função “print” para imprimir na tela o valor contido na
variável “resultado” (8);
Linha 27: utilizamos a função “print” para imprimir na tela o valor contido na
variável “resultado” (0).
Quadro 2
Ordem de
Operação Símbolo
Prioridade
1º Parênteses ()
2º Inversão de sinal -
3º Exponenciação **
3º Adição e Subtração +, -
Seguindo a ordem de precedência, a variável “a” resulta em 17, e não 81, pois o operador * tem
precedência mais alta do que +, assim, efetua-se primeiro a multiplicação 1 * 9 e, depois, a
adição por 8.
Outro exemplo. Considere o seguinte código:
a = 20
b = 10
c = 15
d = 5
e = (a + b) * c / d
Para resolver essa expressão, é preciso primeiro efetuar o cálculo da expressão entre parênteses,
em seguida, a multiplicação e, por fim, a divisão. Seguindo essa ordem, temos:
e = (20+10) * 15 / 5
e = 30 * 15 / 5
e = 450 / 5
e = 90
Operadores Relacionais
Operadores relacionais são utilizados para comparar valores entre termos. O resultado dessa
comparação sempre irá retornar um valor booleano, ou seja, true ou false. Em Python, temos os
seguintes operadores.
Tabela 1
Operador Nome Descrição Exemplo
Verifica se os valores
de dois operandos if(a==b):
são iguais ou não, se
== Igualdade print(“a é igual a
a resposta for sim, a
condição torna-se b”)
verdadeira (true).
Verifica se os valores
de dois operandos if(a!=b):
são iguais ou não, se
!= Diferente print(“a não é
a resposta for não, a
condição torna-se igual a b”)
verdadeira (true).
Verifica se o valor do
operando esquerdo é
maior que o valor do if(a>b):
> Maior que operando à direita, print(“a é maior
se sim, a condição que b”)
torna-se verdadeira
(true).
Verifica se o valor do
operando esquerdo é
menor que o valor do if(a>b):
Menor
< operando à direita, print(“a é menor
que
se sim, a condição que b”)
torna-se verdadeira
(true).
Operador Nome Descrição Exemplo
Verifica se o valor do
operando à esquerda
é maior ou igual ao if(a>=b):
Maior
>= valor do operando à print(“a é maior
igual
direita, se sim, a ou igual que b”)
condição torna-se
verdadeira (true).
Verifica se o valor do
operando à esquerda
if(a>=b):
é menor ou igual ao
Menor print(“a é
<= valor do operando à
igual menor ou igual
direita, se sim, a
que b”)
condição torna-se
verdadeira (true).
Site
Jdoodle – Online Python 3 IDE
Podemos verificar esses operadores em execução com o código criado e
compartilhado por meio do seguinte link:
ACESSE
Operadores Lógicos
Um operador lógico é um operador que retorna um resultado booleano (true ou false) baseado
no resultado booleano de uma ou duas outras expressões. O conceito de operadores lógicos é
simples. Eles permitem que um programa tome uma decisão com base em múltiplas condições.
Cada operando é considerado uma condição que pode ser avaliada de acordo com o valor
(verdadeiro ou falso).
Quadro 3
Site
Jdoodle – Online Python 2 IDE
Podemos verificar esses operadores em execução com o código criado e
compartilhado por meio do seguinte link:
ACESSE
Operadores de Concatenação
O operador de concatenação de string em Python é representado por dois pontos ("+"). Utiliza-
se esse operador quando é necessária a junção de dois operandos que contenham um texto.
Figura 2
Fonte: Acervo do Conteudista
Figura 3
Acervo do Conteudista
Leitura
Operadores e Expressões em Python
Clique no botão para conferir o conteúdo.
ACESSE
Estrutura de Decisão
Em muitos momentos, nosso aplicativo deve tomar decisões de acordo com as condições pré-
estabelecidas. As estruturas de decisão exigem que o programador especifique uma ou mais
condições a serem avaliadas ou testadas pelo programa, juntamente com uma declaração ou
instruções a serem executadas.
Figura 4
A Figura acima representa um fluxograma onde temos uma estrutura de decisão, e de acordo
com a resposta do teste da condição, falso ou verdadeiro, o programa executa um bloco de
instruções e segue para a finalização do algoritmo.
Leitura
Explicando Algoritmos e Fluxogramas com Exemplos
ACESSE
A linguagem Python fornece os seguintes tipos de declarações de tomada de decisão: if ...; if ... else
e if... elif.
Estrutura if ...
A estrutura if... é utilizada para testar uma condição e caso retorne verdadeiro, executa um bloco
de instruções. Toda declaração if segue a sintaxe padrão: teste uma condição e, se for verdade,
execute uma ação.
Figura 5
Leitura
Indentação do Código Python
ACESSE
Leitura
Desvio Condicional Simples (SE…ENTÃO)
ACESSE
Figura 7
Fonte: Acervo do Conteudista
Site
Jdoodle – Online Python 2 IDE
ACESSE
Explicando o Código
Linha 3: efetuamos uma operação de adição entre as variáveis “a” e “b” e atribuímos
o resultado para a variável “soma”;
Linha 5: utilizamos a função “print” para imprimir na tela o texto “Aluno aprovado”.
Toda declaração if ... else. Segue sintaxe padrão: teste uma condição e, se for verdade, execute o
bloco de instrução 1; caso contrário, execute o bloco de instrução 2.
Figura 8
Leitura
Estrutura de Decisão SE-ENTÃO-SENÃO
ACESSE
Partindo do exemplo anterior, onde nosso programa recebe duas notas e, em seguida. efetua a
soma entre as duas, iremos complementar com mais uma decisão. Caso a condição retorne
falsa, o programa irá imprimir na tela o texto “Aluno reprovado”. A seguir, temos um
fluxograma descrevendo esse algoritmo.
Figura 9
Do mesmo modo que o algoritmo anterior, a condição para o aluno ser aprovado é possuir uma
nota maior que seis (6). Contudo, nesse novo algoritmo, temos previsto também instruções em
caso de um retorno ser falso, ou seja, caso o aluno possua nota menor ou igual a seis (6).
Site
Jdoodle – Online Python IDE
Podemos visualizar esse código por meio do seguinte link:
ACESSE
Explicando o Código
Linha 3: efetuamos uma operação de adição entre as variáveis “a” e “b” e atribuímos
o resultado para a variável “soma”;
Leitura
Desvio Condicional Aninhado (SE...ENTÃO...SENÃO...SE)
ACESSE
Figura 12
Site
Jdoodle – Online Python IDE
Podemos visualizar esse código por meio do seguinte link:
ACESSE
Explicando o Código
Linhas 1 e 2: declaramos uma variável com o nome de “a” e
“b” e, em seguida, atribuímos os valores 1 para “a” e 3 para
“b”;
Linha 3: efetuamos uma operação de adição entre as variáveis “a” e “b” e atribuímos
o resultado para a variável “soma”;
Linha 7: testamos a condição “soma > 2”. Caso o teste retorne verdadeiro, o
programa executará a linha 8. Caso contrário, o programa será finalizado;
Linha 8: utilizamos a função “print” para imprimir na tela o texto “Aluno pode
realizar prova de recuperação”.
if(condição):
bloco de instrução 1
elif(condição):
bloco de instrução 2
else:
bloco de instrução 3
else:
bloco de instrução 4
if(condição):
if(condição):
bloco de instrução 1
else:
if(condição):
bloco de instrução 2
else:
bloco de instrução 3
else:
bloco de instrução 4
Caso o aluno não possua frequência maior que 75%, será considerado reprovado de forma
direta.
O aluno que possuir a frequência mínima, porém, nota menor ou igual a 6 e maior que 2, poderá
realizar uma prova de recuperação, caso contrário, será reprovado. A seguir, temos um
fluxograma descrevendo esse algoritmo.
Figura 14
Site
Jdoodle – Online Python IDE
Podemos visualizar esse código por meio do seguinte link:
ACESSE
Explicando o Código
Linha 8: utilizamos a função “print” para imprimir na tela o texto “Aluno aprovado”;
Linha 9: testamos a condição “soma > 2”. Caso o teste retorne verdadeiro, o
programa executará a linha 10. Caso contrário, o programa irá executar o bloco de
instruções a partir da linha 12;
Linha 10: utilizamos a função “print” para imprimir na tela o texto “Aluno pode
realizar prova de recuperação”;
Linha 12: utilizamos a função “print” para imprimir na tela o texto “Aluno
reprovado”;
Linha 13: utilizamos a função “print” para imprimir na tela o texto “Aluno reprovado
direto”.
Em Síntese
Nesta Unidade, estudamos a aplicação de operadores (aritméticos,
relacionais, lógicos e de concatenação), bem como os conceitos de
estruturas de decisão. É importante que assista à videoaula e que leia
os livros e materiais complementares indicados nesta unidade de
estudo. É fundamental que, além dos estudos em Python, busque
estudar ou retomar conceitos de desenvolvimento de algoritmos, ter
uma boa noção desse tema o ajudará na jornada de estudos de
programação de computadores.
Até a próxima!
2/3
ʪ Material Complementar
Vídeos
Leitura
ACESSE
ʪ Referências
BANIN, S. L. Python 3 – Conceitos e Aplicações – Uma abordagem didática. São Paulo: Érica,
2018. (e-book)
Objetivo da Unidade:
ʪ Material Teórico
ʪ Material Complementar
ʪ Referências
TEMA 1 de 3
ʪ Material Teórico
Os programadores usam loops para percorrer valores, somar números, repetir funções ou
instruções de códigos e muitas outras coisas.
Estruturas de repetição (loop) são semelhantes às estruturas condicionais (if, else etc.), contudo,
ao contrário de uma instrução if, que apenas avalia uma condição uma única vez, um loop será
executado várias vezes até que a condição retorne um valor falso.
Loops são suportados por todas as linguagens de programação modernas, embora suas
implementações e sintaxe possam ser diferentes. Em Python temos dois tipos de estruturas de
repetição: for e while.
ACESSE
Figura 1
Variável: refere-se à variável de iteração. É por meio dessa
variável que identificamos a sequência de repetição durante a
execução do Loop. Essa variável irá iterar de acordo com a faixa
de valores declarada;
Por exemplo, imaginemos um cenário onde desejamos que nosso programa faça uma sequência
progressiva de cinco (5) adições, acrescentando sempre 3 ao resultado da soma anterior. Em
Python temos algo do tipo:
Código:
Figura 2
Fonte: Acervo do Conteudista
Saída:
Figura 3
Fonte: Acervo do Conteudista
Explicando o Código
É importante ressaltar que a instrução for, no Python, irá percorrer por todos a sequência
declarada no parâmetro de faixa de valores, assim, uma string com 5 caracteres fará com que
nosso for seja executado 5 vezes, em uma sequência com 10 números, o for será executado 10
vezes, e assim por diante. Vejamos o exemplo a seguir, onde temos como parâmetro para a faixa
de valores, 6 valores aleatórios.
Figura 4
Fonte: Acervo do Conteudista
Saída:
Figura 5
Fonte: Acervo do Conteudista
Explicando o Código
Linha 1: assinatura da instrução for. Como variável para
iteração, declaramos a variável “i”, em seguida declaramos a
cláusula obrigatória in e por fim, declaramos a sequência
numérica de seis números (aleatória) a ser percorrida;
Linha 2: a cada repetição, utilizamos a função print para exibir na tela o valor contido
na variável de iteração “i”. É importante ressaltar que como a faixa de valores possui
6 números, o for executará 6 repetições.
Comumente, para uma sequência finita, é utilizado em Python a função range, uma função que
gera uma sequência numérica. A sintaxe dessa função é:
Figura 6
A seguir, temos um código que exibe na tela uma contagem progressiva de 5 números entre 0 e
4.
Código:
Figura 7
Fonte: Acervo do Conteudista
Saída:
Figura 8
Fonte: Acervo do Conteudista
Explicando o Código
Linha 1: assinatura da instrução for. Como variável para
iteração, declaramos a variável “i”. Para a função “range”,
declaramos que o fim da sequência será o número 5, contudo,
como explicado, esse número não é incluso na sequência;
Linha 2: a cada repetição, utilizamos a função print para exibir na tela o valor contido
na variável de iteração “i”. É importante ressaltar que conforme o parâmetro da
função “range” (5), será criada uma sequência entre 0 e 4 e assim, o for executará 5
repetições.
Vejamos outro exemplo, criaremos agora um programa que exibirá uma progressão numérica
de zero (0) à quinze (15) tendo como incremento o valor 2. Ou seja, nosso programa irá exibir
uma progressão aritmética de razão 2. Para tanto, iremos usar a estrutura for com a cláusula
range configurando o parâmetro de incremento para 2.
Codigo:
Figura 9
Fonte: Acervo do Conteudista
Saída:
Figura 10
Fonte: Acervo do Conteudista
Explicando o Código
Linha 2: a cada repetição, utilizamos a função print para exibir na tela o valor contido
na variável de iteração “i”. É importante ressaltar que conforme o parâmetro da
função “range” (15), será criada uma sequência entre 0 e 14, porém, como o
incremento está configurado para somar o valor +2 a cada repetição, serão
executadas a quantidade de repetições possíveis entre 0 e 14 em uma progressão de
múltiplos de 2. Assim, temos 8 repetições, que é a quantidade de números múltiplos
de 2 dentro da sequência de 0 a 14.
Leitura
Progressão Aritmética
ACESSE
Código:
Figura 11
Fonte: Acervo do Conteudista
Saída:
Figura 12
Fonte: Acervo do Conteudista
Explicando o Código
Linha 5: utilizamos a função print para exibir na tela o valor contido na variável de
iteração “i”;
Linha 7: ao final do for, ou seja, após concluir todas as repetições da estrutura, essa
linha será executada. Utilizamos a função print para exibir na tela o valor contido na
variável “qtdMultiplos”.
Por meio da estrutura for, podemos, por exemplo, percorrer todos os caracteres contidos em
uma variável com valor do tipo string. Vejamos um exemplo.
Código:
Figura 13
Fonte: Acervo do Conteudista
Saída:
Figura 14
Fonte: Acervo do Conteudista
Explicando o Código
Temos na linha 1 a declaração da variável e a atribuição de um valor do tipo string. Na linha 3,
temos a assinatura da instrução for, como variável para iteração, declaramos a variável “x”, em
seguida, logo após a cláusula in, descrevemos a variável “minhaString”. Por ser um tipo string, a
estrutura for é capaz de percorrer toda a cadeia de caracteres que formam o valor string e dessa
forma, um a um, cada caractere é acessado e visualizado na tela por meio da função print.
Leitura
Estrutura de repetição PARA (For)
Clique no botão para conferir o conteúdo.
ACESSE
Leitura
Estrutura de repetição ENQUANTO (While)
ACESSE
Para o início de nossos estudos com a estrutura while, vamos criar um programa que exibe na
tela uma contagem progressiva de 1 a 5. Assim, temos o seguinte código.
Código:
Figura 16
Fonte: Acervo do Conteudista
Saída:
Figura 17
Fonte: Acervo do Conteudista
Explicando o Código
Linha 2: assinatura da instrução while. Declaramos a condição (contador < 5). Essa
condição faz com que a instrução while continue a executar enquanto o valor
contido na variável “contador” seja um número menor que 5;
Em muitos cenários, o algoritmo exige que se repita um certo trecho de código, contudo sem a
informação sobre em qual momento a repetição será finalizada. Desse modo, é escrito um
código onde dada uma condição, o processo de repetição é finalizado. Vejamos um exemplo.
Temos um cenário onde nosso programa deve solicitar que o usuário digite um nome até que
seja digitado o número zero (0). Seguimos com o código em Python.
Código:
Figura 18
Fonte: Acervo do Conteudista
Explicando o Código
Linha 5: caso o valor contido na variável “texto” seja igual a zero (0), as linhas 6 e 7
serão executadas. Ressaltamos aqui que a instrução “break” quando executada em
um while, executará a parada desse loop;
Linha 9: essa linha será executada enquanto o usuário do programa digitar textos
diferentes de zero (0). Ao ser executada, essa linha armazenará na variável “nome”
o valor digitado adicionando com o valor contido nessa variável anteriormente. Por
fim, adiciona um caractere de quebra de linha “\n”;
Linha 11: essa linha será executada quando o while encerrar, ou seja, quando o
usuário digitar zero (0). Utilizamos a função print para exibir na tela os valores
contidos na variável “nome”.
Podemos criar uma outra solução para o problema anterior utilizando uma variável do tipo
Boolean como condição do While, mas diferente do código anterior, essa variável pode mudar de
estado (de verdadeiro para falso), assim, quando diferente de verdadeiro, irá encerrar o
programa.
Código:
Figura 19
Fonte: Acervo do Conteudista
Explicando o Código
Linha 13: essa linha será executada quando o while encerrar, ou seja, quando o
usuário digitar um valor diferente de “SIM”. Utilizamos a função print para exibir na
tela os valores contidos na variável “nome”.
Leitura
Funções Básicas com Strings com Upper Lower Title
ACESSE
Em alguns cenários é preciso não permitir que alguns trechos de código dentro da estrutura de
repetição sejam executados. Porém, garantindo que a estrutura continue sendo executada,
assim temos a cláusula continue. Dentro de uma estrutura de repetição, ao ser executada, essa
cláusula fará com que seja executada a primeira linha da estrutura de repetição, ignorando as
demais linhas de códigos seguintes.
Vejamos um exemplo. Criaremos um programa que exibe uma sequência de números entre zero
(0) e nove (9), porém, nosso programa não deve exibir os números 1 e 3.
Código:
Figura 20
Fonte: Acervo do Conteudista
Saída:
Figura 21
Fonte: Acervo do Conteudista
Explicando o Código
Linha 2: assinatura da instrução while. Declaramos a condição (contador < 10). Essa
condição faz com que a instrução while continue a executar enquanto o valor
contido na variável “contador” seja um número menor que 10;
Linha 6: cada vez que essa linha é executada, a cláusula continue executa a primeira
linha da estrutura de repetição. Assim, as linhas 8 e 9 não serão executadas;
Linha 8: ao ser executada, essa linha exibe por meio da função print, o valor contido
na variável “contador”;
Vídeo
Repetição com While + Break e Continue
Importante!
Antes que leia a resposta para o desafio proposto, tente criar sua
própria solução. Como sugestão, desenvolva primeiro o algoritmo,
pode ser em pseudocódigo ou um fluxograma, o importante aqui é
pensar no passo a passo para a resolução do problema, em seguida,
implemente seu algoritmo na linguagem Python.
C O NT I NU E
Resolução
Seguimos com o seguinte código em Python para a solução do desafio proposto.
Figura 22
Fonte: Acervo do Conteudista
Leitura
Jdoodle – Online Python 3 IDE
O código anterior pode ser visualizado por meio do link a seguir.
ACESSE
Explicando o Código
Linha 3: declaramos uma variável com o nome de “valor” e atribuímos o valor “0”
para ela. Iremos utilizar essa variável para armazenar os valores digitados pelo
usuário do programa;
Leitura
Jdoodle – Online Python 3 IDE
Segue também a solução do desafio utilizando a estruturar for.
ACESSE
Em Síntese
Nesta Unidade, estudamos os conceitos e a implementação de estruturas de repetição. É
importante que assista a videoaula desta unidade e que leia os livros e materiais complementares
indicados nesta Unidade de estudo. É fundamental que além dos estudos em Python, busque
estudar ou retomar conceitos de desenvolvimento de algoritmos, em especial, o tema desta
unidade.
Até a próxima.
TEMA 2 de 3
ʪ Material Complementar
Vídeos
Leitura
ACESSE
ACESSE
TEMA 3 de 3
ʪ Referências
BANIN, S. L. Python 3: conceitos e aplicações: uma abordagem didática. São Paulo: Érica, 2018.
(e-book)
Objetivo da Unidade:
ʪ Contextualização
ʪ Material Teórico
ʪ Material Complementar
ʪ Referências
1 /4
ʪ Contextualização
Nesta Unidade, iremos estudar formas para armazenar diversos valores (N valores) em uma
mesma variável. Esse conceito permitirá um salto de qualidade e eficiência em nossos códigos
de programação. No estudo de algoritmos, chamamos esse conceito de vetores. Na linguagem
Python, temos: Lists, Dictionarys e Tuples.
Vídeo
Vetores – Curso de Algoritmos
ʪ Material Teórico
Listas
Uma lista é uma estrutura de dados em Python que é uma sequência ordenada de elementos e
mutável (pode ter seus valores atualizados). Cada elemento corresponde a um valor e é chamado
de item e são definidos entre colchetes [ ].
Utilizamos listas quando precisamos trabalhar com muitos valores relacionados, pois elas
permitem que se mantenham diversos dados juntos, crie um código mais intuitivo e execute
métodos e operações em vários valores de uma só vez.
Figura 1
Vejamos alguns conceitos básicos de listas:
Itens (ou elemento): são os valores armazenados dentro de cada posição da lista;
minhaLista = [1,2,3,4,5]
O código acima declara uma lista com o nome de “minhaLista” e atribui os valores 1, 2, 3, 4 e 5.
As regras para nomear listas em Python seguem as mesmas regras de nomeação de variáveis
comuns:
As variáveis podem ter letras (A-Z e a-z), dígitos (0-9) e sublinhados (_).
No código acima, atribuímos valores de tipos diferentes, porém para a mesma variável.
Podemos armazenar valores de todos os tipos primitivos de dados do Python: string, int, float e
boolean, além de objetivos e outros tipos de dados.
Outra forma de criar uma lista e atribuir valores é criar uma lista vazia e por meio da append,
armazenar valores. A função append adiciona um elemento sempre no final da lista.
Vejamos um exemplo:
Figura 2
Fonte: Acervo do Conteudista
Explicando o Código
Se desejarmos adicionar mais elementos à lista, bastaria seguir adicionando instruções append.
Vejamos um exemplo onde criamos um programa capaz de armazenar N nomes em uma lista
digitada pelo usuário. Damos ao usuário a possibilidade de seguir ou não cadastrando nomes
nessa lista. Vamos ao código.
Figura 3
Fonte: Acervo do Conteudista
Explicando o Código
Linha 8: caso o valor contido na variável “continuar” seja igual a “Não” ou “NÃO”, o
while será encerrado (instrução break na linha 9);
Linha 9: por meio da função print, são exibidos os valores contidos na lista
“ListaNomes”.
Os índices em uma lista (ou vetor) sempre iniciam em zero (0). Isso significa que uma lista de 2
elementos, temos o índice 0 e índice 1. Nesse cenário, se tentarmos acessar o índice “2”, ao
executar o programa, retornará um erro de execução, pois estamos tentando acessar um
terceiro elemento (que não existe) na lista. Por exemplo, para obter qualquer item de uma lista,
basta indicar o índice entre colchetes. Vejamos:
Figura 4
Fonte: Acervo do Conteudista
Saída:
Figura 5
Fonte: Acervo do Conteudista
Explicando o código, na linha 1, temos a declaração da lista com a atribuição de valores. Na linha
2, dentro da função print, descrevemos o nome da lista e, entre colchetes, indicamos o índice do
elemento que desejamos visualizar.
Outra forma para acessar e visualizar os elementos de uma lista é por meio de uma estrutura de
repetição for. Vejamos um exemplo:
Figura 6
Fonte: Acervo do Conteudista
Saída:
Figura 7
Fonte: Acervo do Conteudista
Explicando o código, na linha 1, temos a declaração da lista com a atribuição de valores. Na linha
3, declaramos o for, criamos a variável de iteração chamada “elementos” e em seguida, a
cláusula in e a descrição da lista que desejamos visualizar. Dessa forma, a cada repetição do for, o
valor contido no elemento da lista será atribuído para a variável de iteração.
É importante ressaltar que a quantidade de repetições que o for irá executar é igual à quantidade
de elementos existentes na lista.
Figura 8
Fonte: Acervo do Conteudista
No código acima, na linha 1 declaramos uma lista e atribuímos 3 valores. Na linha 2, atualizamos
o valor contido no item armazenado no índice zero (0), o valor original que era “1”, passa agora
a ser “2”. Na linha 3, atualizamos o valor contido no item armazenado no índice um (1), o valor
original que era “Silva”, passa agora a ser “João da Silva”.
Na linha 2, descrevemos o nome da lista e, em seguida, logo após o sinal de ponto final,
descrevemos a função pop(). Essa função remove o elemento contido no final da lista. Nesse
exemplo, a lista removerá o valor “Silva”.
Pode-se utilizar a função pop() quantas vezes forem necessárias ao seu algoritmo.
Figura 10
Fonte: Reprodução
No código acima, a cada vez que a função pop() é executada, é removido o elemento contido no
final da lista. Desse modo, ao final da execução, restará apenas o elemento contendo o valor
“João”.
Outra maneira para remover um elemento de uma lista é por meio da função remove() tendo
como parâmetro o valor desejado. A função remove() permite remover a primeira ocorrência de
um elemento pelo seu valor. Vejamos um exemplo.
Figura 11
Fonte: Reprodução
Na linha 2, descrevemos o nome da lista e em seguida, logo após o sinal de ponto final,
descrevemos a função remove(). Essa instrução irá remover o primeiro elemento cujo valor seja
igual à “Maria”. Caso o valor indicado na função remove() não exista na lista, ocorrerá um erro
de execução.
Site
Jdoodle – Online Python 3 IDE
Pode-se sempre utilizar um bloco de exceções (Try Except) para tratar
exceções em seu código. No cenário da função remove, veja um
exemplo a seguir de um código contendo o bloco de exceção Try Except.
ACESSE
Leitura
Tratamento de Exceções
ACESSE
Funções de listas podem ser executadas diversas vezes ao longo do código. Vejamos um
exemplo onde utilizamos a funções para adicionar e remover elementos.
Figura 12
Fonte: Reprodução
Ao final da execução do programa, a lista irá conter 3 elementos com os seguintes valores:
“João”, “Maria” e “Fernanda”.
Leitura
Como trabalhar com listas em Python
ACESSE
Tuplas
A tupla é uma estrutura de dados em Python que é uma sequência ordenada de elementos e
imutável (os valores contidos em seus elementos não podem ser atualizados ou excluídos).
Tuplas são similares às listas quanto às regras para nomeação e tipos de dados que podem ser
armazenados. Cada elemento dentro de uma tupla é chamado de item, porém, seus valores são
definidos entre parênteses (). Por sua característica imutável, tuplas podem ser utilizadas, por
exemplo, em cenários onde é preciso garantir que dados sejam protegidos contra gravação ao
longo da execução do programa.
O código acima declara uma lista com o nome de “minhaTupla” e atribui os valores 1, 2, 3, 4 e 5.
Figura 13
Fonte: Reprodução
Saída:
Figura 14
Fonte: Reprodução
Explicando o código, na linha 1, temos a declaração da tupla com a atribuição de valores. Na linha
2, dentro da função print, descrevemos o nome da lista e, entre colchetes, indicamos o índice do
elemento que desejamos visualizar.
Similar à lista, outra forma para acessar e visualizar os elementos de uma tupla é por meio de
uma estrutura de repetição for. Vejamos um exemplo:
Figura 15
Fonte: Reprodução
Saída:
Figura 16
Fonte: Reprodução
Explicando o código: na linha 1, temos a declaração da lista com a atribuição de valores. Na linha
3, declaramos o for, criamos a variável de iteração chamada “elemento” e em seguida, a cláusula
in e a descrição da lista que desejamos visualizar. Dessa forma, a cada repetição do for, o valor
contido no elemento da lista será atribuído para a variável de iteração.
É importante ressaltar que a quantidade de repetições que o for irá executar é igual à quantidade
de elementos existentes na lista.
Saída:
Figura 18
Fonte: Reprodução
Explicando o código: na linha 1, temos a declaração da lista com a atribuição de valores. Na linha
2, descrevemos a cláusula del e, em seguida, descrevemos o nome da tupla que desejamos
excluir.
Na linha 3, ao executar a função print, tendo como parâmetro a tupla criada na linha 1, o
programa retornará um erro de execução, pois a tupla foi excluída na linha anterior (linha 2).
Leitura
Entenda o que é e quais as Diferenças entre Listas, Sets, Tuplas e
Dicionários no Python
ACESSE
Dicionários
Um dicionário é uma estrutura de dados em Python que é uma sequência não ordenada de
elementos e mutável. Cada item um dicionário possui um par de chave/valor. As regras para
nomeação de dicionários seguem as mesmas utilizadas para tuplas e listas.
Figura 19
Em Python temos:
O código acima declara um dicionário com o nome de “meuDicionario” e atribui o valor “João da
Silva” para a chave “nome” e o valor “25” para a chave “idade”. As chaves declaradas nesse
dicionário são únicas (não se repetem) e são do tipo string.
Acessando Elementos em uma Lista
Para acessar um elemento específico em um dicionário, basta indicar a chave do elemento entre
colchetes. Vejamos um exemplo:
Figura 20
Fonte: Reprodução
Saída:
Figura 21
Fonte: Reprodução
Saída:
Figura 23
Fonte: Reprodução
Para adicionar um elemento ao dicionário, deve-se declarar a nova chave do dicionário e atribuir
seu valor. Vejamos um exemplo:
Figura 24
Fonte: Reprodução
Figura 25
Fonte: Reprodução
Na linha 2, descrevemos o nome do dicionário e, em seguida, logo após o sinal de ponto final,
descrevemos a função popitem(). Essa função remove o elemento contido no final do
dicionário. Nesse exemplo, o dicionário removerá a chave “email” e seu valor.
Pode-se utilizar a função popitem() quantas vezes forem necessárias ao seu algoritmo.
Para remover um elemento específico, basta indicar o nome da chave como parâmetro na
função pop(). Vejamos um exemplo:
Figura 26
Fonte: Reprodução
Na linha 2, descrevemos o nome do dicionário e, em seguida, logo após o sinal de ponto final,
descrevemos a função pop() e, como parâmetro, descrevemos a chave “nome”. Dessa forma, o
elemento removerá a chave “nome” e seu valor.
Por fim, para excluir todos os elementos do dicionário, basta descrever a cláusula del seguida do
nome do dicionário.
del meuDicionario
Leitura
Dicionários no Python
Clique no botão para conferir o conteúdo.
ACESSE
Manipulação de Strings
Em Python, uma string é uma sequência de caracteres Unicode. Strings podem ser criadas
colocando caracteres entre aspas simples ou aspas duplas. Mesmo aspas triplas podem ser
usadas em Python, mas geralmente usadas para representar strings de várias linhas.
Figura 27
Fonte: Reprodução
Saída:
Figura 28
Fonte: Reprodução
É possível acessar caracteres específicos em uma string. Para isso, basta indicar o número do
índice desejado.
Figura 29
Fonte: Reprodução
Saída:
Figura 30
Fonte: Reprodução
É possível concatenar (juntar) duas ou mais strings utilizando o sinal de adição (+).
Figura 31
Fonte: Reprodução
Saída:
Figura 32
Fonte: Reprodução
Figura 33
Fonte: Reprodução
Saída:
Figura 34
Fonte: Reprodução
É importante o aprofundamento nos estudos acerca de strings, pois essas possibilitam uma
infinidade de funções e instruções para sua manipulação.
Em Síntese
Nesta Unidade, estudamos os conceitos introdutórios acercada das
principais estruturas de dados e strings do Python. É importante que
assista à videoaula desta unidade e que leia os livros e materiais
complementares indicados nesta Unidade de estudo. É fundamental
que, além dos estudos em Python, busque estudar ou retomar conceitos
de desenvolvimento de algoritmos, em especial, o tema desta Unidade.
3/4
ʪ Material Complementar
Vídeos
Dicionários em Python
Leitura
ACESSE
Tuplas em Python
ʪ Referências
BANIN, S. L. Python 3 – Conceitos e Aplicações – Uma abordagem didática. São Paulo: Érica,
2018. (e-book)