Python Parte 2
Python Parte 2
PROFESSOR:
FRA NCI SCO DE A SSI S CAVA LLA RO
IF, IF...ELSE e ELIF
2
IF
▪ Python é uma das poucas linguagens de programação que utiliza o deslocamento do texto à
direita (recuo) para marcar o inicio e o fim de um bloco.
▪ Após o comando if, a linha de comando termina com dois pontos (:) isso indica o anuncio de um
bloco de linha a seguir (no qual vai informar qual é o script de execução). O bloco continua até a
primeira linha com deslocamento diferente.
3
IF...ELSE
▪ Programa que solicita a idade do carro do usuário e, em seguida, escreve “novo” se o carro tiver
menos de três anos; ou “velho”, caso contrario.
4
IF...ELSE
5
IF...ELIF
▪ Calcular através de um programa que leia a categoria de um produto e determine o preço pela
tabela: Categoria 1 valor de R$ 10,00; Categoria 2 valor de R$ 18,00; Categoria 3 valor de R$
23,00; Categoria 4 valor de R$ 26,00 e Categoria 5 valor de R$ 31,00.
6
math, while, Strings, Listas, for, break,
continue e Função
7
math
8
9
math
▪ De forma simplificada as bibliotecas são componentes que oferecem funções e classes para
nossos programas.
▪ Um exemplo que já estamos usando faz um tempinho é a função print(), que captura uma
informação e exibe na tela.
▪ As funções podem ou não receber parâmetros. Os parâmetros são informações que passamos
para as funções. Os parâmetros são passados dentro dos parênteses que seguem o nome da
função. Quando há mais de um parâmetro nós usamos vírgulas para separá-los.
▪ Exemplo:
▪ Se quisermos calcular a raiz quadrada de um número em Python temos que, primeiro importar a
biblioteca math para depois utilizá-la.
10
math
▪ Segue algumas funções da biblioteca:
▪ Se quiser saber quais funções estão disponíveis na biblioteca math, basta digitar math. no IDLE e
aguardar ser apresentada a lista.
while
11
while
▪ Caracteriza-se por uma estrutura que efetua um teste lógico no início de um looping, verificando se
é permitido executar o trecho de instruções subordinado a esse looping.
▪ Formato genérico:
while condição:
comando1_se_for_verdade
comando2_se_for_verdade
comando_se_for_falso
NÃO SE ESQUEÇA QUE TODO COMANDO DENTRO DE UM IF DEVE ESTAR IDENTADO PARA QUE ELE FAÇA PARTE
DA CONDIÇÃO VERDADEIRA !!!
12
while
▪ Como exemplo, vamos considerar o problema: “Ler um valor para a variável X, multiplicar esse valor
por 3, implicando-o à variável de resposta R e apresentar o valor de R obtido, repetindo esta
sequência por cinco vezes”.
▪ Dica: Precisamos primeiro identificar o que é constante ou depende da entrada do usuário e o que
muda de valor, ou seja, tudo que varia. Logo, precisamos de uma variável para guardar o valor que
controlará o número de vezes que ocorrerá o laço de repetição.
Exemplo:
13
while
▪ Para ilustrar de forma um pouco diferente, imagine que o problema anterior deverá ser executado enquanto o
usuário queira. Desta forma, em vez de criarmos dentro da rotina um contador de vezes, criamos uma
instrução pedindo que o usuário informe se deseja continuar ou não.
Exemplo:
14
while
▪ Dica: Em Python, na biblioteca math tem uma função pronta para calcular fatorial de qualquer número. 😉
15
while
Operador de Incremento/ Decremento
▪ Atualizar uma variável adicionando-se 1 é chamado de incremento (increment); subtrair 1 é chamado
decremento (decrement).
16
while
Operador de Incremento/ Decremento
Exemplo:
17
while
18
STRINGS
19
STRINGS
▪ Antes de falarmos sobre strings....
▪ Podemos comparar caracteres entre si usando a tabela ASCII que contém os
caracteres vinculados a um número inteiro positivo.
https://gdhpress.com.br/wp-content/uploads/2019/07/tabelaASCII.pdf
20
STRINGS
21
STRINGS
Usando Unicode em Python ====> ord().
22
STRINGS
Tabela Verdade
23
STRINGS
Operadores Booleanos
24
STRINGS
Operadores Booleanos
25
STRINGS
Operadores Booleanos
26
STRINGS
Operadores Booleanos
27
STRINGS
▪ Vamos agora aprender mais sobre strings. Vimos rapidamente pouco sobre
strings, mas vamos falar mais sobre eles.
▪ Primeiro vamos lembrar todos os tipos de dados que nós vimos até agora. Tem o
que a gente chama de tipos simples, ou tipos primitivos, são aqueles tipos inteiros,
números ponto flutuante, tipos booleanos. Cada desses valores tem apenas valor
dentro de si.
30
STRINGS
P y t h o n
0 1 2 3 4 5
-6 -5 -4 -3 -2 -1
31
STRINGS
▪ Veremos três manipulações de string importantes:
✓ Descobrir o tamanho da string : len(string)
✓ Acessar um item da string : string[índice]
✓ Acessar “pedaços” (slice) da string : string[inicial : final]
▪ Exemplos:
32
STRINGS
▪ Obs.: As strings são sequencias imutáveis de code points. Isso significa que elas têm seu valor definido na
criação e que as novas sempre são criadas a partir das operações com elas. Se tentarmos mudar o valor de
uma posição ou pedaço de uma string, vamos receber um erro.
▪ Funções com strings ou métodos da classe string mais úteis:
35
LISTAS
▪ Uma lista (list) em Python é uma sequência ou coleção ordenada de valores. Cada
valor na lista é identificado por um índice. Os valores que formam uma lista são
chamados elementos ou itens. Listas são similares a strings, que são uma
sequência de caracteres, no entanto, diferentemente de strings, os itens de uma
lista podem ser de tipos diferentes.
▪ Existem várias maneiras de criarmos uma lista. A maneira mais simples é envolver
os elementos da lista por colchetes ([ e ]).
36
LISTAS
▪ Uma lista em uma outra lista é dita aninhada (nested) e a lista mais interna é chamada
frequentemente de sublista (sublist).
▪ Podemos também atribuir listas a variáveis:
>>> len(primos)
5
>>> len(uma_lista)
4
>>> len(outra_lista)
6
>>>
38
LISTAS
✓ Índices
▪ Cada valor na lista é identificado por um índice.
▪ Dizemos que uma lista é uma estrutura sequencial indexada pois os seus
elementos podem ser acessados sequencialmente utilizando índices.
▪ O primeiro elemento da lista tem índice 0, o segundo tem índice 1, e assim por
diante. Observe que, por começar pelo índice zero, o último elemento da lista
primos, o número 11, tem índice 4, sendo que essa lista tem comprimento 5.
>>> primos = [2, 3, 5, 7, 11]
39
LISTAS
✓ Índices
▪ Para acessar um elemento de uma lista usamos o operador de indexação [ ]. A expressão dentro
dos colchetes especifica o índice. O índice do primeiro elemento é 0. O seguinte programa imprime
os valores da lista primos.
▪ Podemos usar uma estrutura semelhante à Linguagem C: %d, como destacado abaixo, isto é
chamado de interpolação:
40
LISTAS
✓ Inserir um novo elemento
42
LISTAS
▪ Assim, para armazenar a sequência dos inteiros 0,1,2,3,4,5 em uma lista podemos fazer o seguinte
▪ Vamos parar por aqui com Listas, pois já é o suficiente para você aprender o próximo tópico, veremos mais a
fundo Listas nas próximas aulas. 😊
43
for
44
FOR
▪ Usamos a função range() para imprimir números de 0 a 5, excluindo o número 5:
45
FOR
▪ Você poderia querer iniciar o contador com um valor diferente de 0:
46
FOR
▪ Outra forma comum do comando for é utilizando a função range() para criar a lista de índices da seguinte
forma:
➢ Usando uma lista de números:
▪ Nessa versão do comando for, a lista numeros é percorrido do início ao fim, e a cada iteração do for a
variável elem recebe um dos elementos da lista.
47
FOR
▪ O Python possui uma função para mostrar diretamente índice – enumerate():
48
FOR
▪ Podemos utilizar a instrução else com for:
▪ Obs.: O range vai variar de 2 até 7, preste atenção que o 7 não faz parte da repetição !!! A lógica é < do que 7.
49
FOR
▪ Mas você deve estar pensando: Só posso percorrer uma lista se seu conteúdo for numérico e inteiro?!?
50
break
51
BREAK
▪ A instrução break finaliza a iteração e o script continua a execução normalmente. O objetivo dessa
instrução é fornecer a capacidade de forçar a interrupção da iteração.
Exemplo:
52
continue
53
CONTINUE
▪ A instrução continue finaliza um único laço, fazendo com que o Cursor de execução vá para o cabeçalho da
estrutura de repetição, ou seja, interrompe somente o ciclo que está sendo executado fazendo com que o
cursor de execução retorne ao cabeçalho da estrutura de repetição para dar início a execução do ciclo
seguinte.
Exemplos:
54
PRATICANDO
55
PRATICANDO
a) ( ) x vale 3
b) ( ) x vale 2
c) ( ) x vale 0
d) ( ) x vale 4
e) ( ) x vale 1
56
PRATICANDO
a) ( ) 0 1 2 3 4
b) ( ) 0 1 2 3 4 5
c) ( ) 2 3 4 5
d) ( ) 1 2 3 4 5
57
PRATICANDO
a. ( ) error
b. ( ) 2 4
c. ( ) 2 3
d. ( ) 2 4 6 8 10 12 ....
58
PRATICANDO
59
PRATICANDO
60
PRATICANDO
a. ( ) cidades{1}
b. ( ) cidades[-1]
c. ( ) cidades[0]
d. ( ) cidades{-1}
e. ( ) cidades{0}
f. ( ) cidades[1]
61
PRATICANDO
62
PRATICANDO
63
PRATICANDO
9. Abaixo é apresentada a estrutura do “for”:
for <variável> in <conjunto de valores>:
<comandos>
a. ( ) <variável> receberá valores numéricos, sempre iniciando pelo valor 0 (zero), um em cada interação.
<conjunto de valores> deve ser uma lista numérica. <comandos> são os comandos que serão executados
enquanto houver valores para a <variável> assumir.
b. ( ) <variável> receberá valores numéricos, sempre iniciando pelo valor 0 (zero), um em cada interação.
<conjunto de valores> poderá ser uma lista ou um intervalo de valores. <comandos> são os comandos
que serão executados quando o comando “for” finalizar
c. ( ) <variável> receberá os valores existentes no <conjunto de valores>, um em cada interação. <conjunto
de valores> poderá ser uma lista ou um intervalo de valores. <comandos> são os comandos que serão
executados enquanto houver valores para a <variável> assumir.
d. ( ) <variável> receberá os valores existentes no <conjunto de valores>, um em cada interação. <conjunto
de valores> poderá ser uma lista ou um intervalo de valores. <comandos> são os comandos que serão
executados quando o comando “for” finalizar 64
PRATICANDO
10. Assinale as afirmações corretas:
a. ( ) O código abaixo imprimirá todos os valores da lista pares.
pares = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30]
for x in range(len(pares)):
print(x)
b. ( ) Os comandos abaixo imprimirão os valores: 16, 13, 10, 7
for i in range(16,4,-3):
print(i)
c. ( ) O código abaixo imprimirá os valores da lista pares da posição 5 até a posição 10, ou seja, 12, 14, 16, 18, 20, 22
pares = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30]
for x in range(5, 10):
print(pares[x])
d. ( ) O código abaixo imprimirá todos os valores da lista pares
pares = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30]
for x in range(len(pares)):
print(pares[x])
e. ( ) O código abaixo imprimirá os múltiplos de 5, começando por 0 e terminando com 45
for i in range(0, 50, 5):
print(i)
65
PRATICANDO
66
PRATICANDO
6. Pedir um número qualquer ao usuário e apresentar a soma de todos os seus termos. Quando
o valor 0 for informado o programa deverá encerrar.
68
FUNÇÃO
69
70
FUNÇÕES
71
FUNÇÕES
FUNÇÕES
Funções sem passagem de parâmetros
FUNÇÕES
Esqueleto de um programa
73
74
FUNÇÕES
Escopo de uma variável
✓ Local
Uma variável local (criada dentro de uma função) existe apenas dentro da
função onde foi declarada.
✓ Global
Uma variável global é declarada (criada) fora das funções e pode ser acessada
por todas as funções presentes no módulo onde é definida.
75
FUNÇÕES
Escopo de uma variável
>>> var_global
75
76
FUNÇÕES
Escopo de uma variável
FUNÇÕES
Escopo de uma variável
✓ Para que uma variável global tenha seu valor alterado dentro de uma função,
devemos usar a declaração global ao declará-la (e antes de inicializá-la!).
>>> var_global
77
78
FUNÇÕES
Valores padronizados em argumentos
✓ Funções em Python podem ter valores padrão para seus argumentos.
>>> salario_descontado_imposto(1000,10)
900.0
>>> salario_descontado_imposto(1000)
730.0
>>> Os argumentos com padrão devem vir por último, depois dos argumentos sem padrão.
PRATICANDO FUNÇÕES
79
PRATICANDO
1. Efetuar a leitura de três valores (A, B e C) e efetuar o cálculo da equação de segundo grau,
apresentando as duas raízes, se para os valores informados for possível efetuar o referido
cálculo. Utilize Função
Dica: −b
A fórmula de Báskara é: x= = b 2 − 4ac
2a
2. Escreva a função maximo que recebe 3 números inteiros como parâmetro e devolve o maior
deles.
80
PRATICANDO
Os valores True e False devolvidos devem ser do tipo bool (booleanos), e não strings.
Dica: Lembre-se que para passar uma vogal como parâmetro ela precisa ser um texto, ou seja,
precisa estar entre aspas.
81
PRATICANDO
Dica: escreva uma função éPrimo(k) e faça um laço percorrendo os números até o número dado
checando se o número é primo ou não; se for, guarde numa variável. Ao fim do laço, o valor
armazenado na variável é o maior primo encontrado.
82
Obrigado!!!
83