Minicurso de Python


Python
Hora da Revisão
Conheceram Python
Criamos variáveis
Números, Strings & Booleanos
Como criar um arquivo .py
Mecanismos de entrada e saída
Manipulação com operadores
Respostas
Ementa
Mecanismos de controle de fluxo
if
else
elif
for
while
a função range
break
continue
Estruturas
de Decisão
Código procedural
Realiza uma ação logo após a outra
Ações são feitas em uma sequência
Código com controle de fluxo
Uma ação pode ou não ser executada
Cada ação é executada apenas uma vez
Cada ação sempre é executada
Uma ação pode ser executada repetidas vezes
Estruturas
de Decisão
recebe variáveis calcula a raíz mostra ao usuário recebe variáveis calcula o delta calcula as 2 e
mostra ao usuárioinforma ao usuário
que não possui
raizes reais calcula
apenas
umaDelta
><= 0?
= 0
> 0
< 0
if
Realiza ações se uma condição é verdadeira
Caso contrário a ação não é executada
...
if EXPRESSÃO :
CÓDIGO
CÓDIGO
CÓDIGO
... --> "se"
Estruturas
de Decisão
number = int(input("Digite um número: "))
print("O número digitado foi: ", number)
if number == 42:
print(";)")
print("Obrigado por digitar") Estruturas
de Decisão
Identação
Forma de organizar a
estrutura do código
Separa horizontalmente os níveis do
código com espaços (geralmente um TAB)
Aumenta a organização e
legibilidade do código
Necessário no Python
nome = input("Digite seu nome: ")
print("Então você é " + nome)
if nome == "Batista":
print("Sou eu")
print("Parabéns") Identação
hora = int(input("Que horas são? "))
if hora >= 4:
if hora < 12:
print("Bom dia!")
if hora >= 12
if hora < 18:
print("Boa tarde!")
if hora >= 18
if hora < 24:
print("Boa noite!")
if hora < 4
if hora > 0:
print("Boa madrugada!") 










Evitem
usar
if 's
encadeados
Usem expressões lógicas
Estruturas
de Decisão
hora = int(input("Que horas são? "))
if hora >= 4 and hora < 12:
print("Bom dia!")
if hora >= 12 and hora < 18:
print("Boa tarde!")
if hora >= 18 and hora < 24:
print("Boa noite!")
if hora < 4 and hora > 0:
print("Boa madrugada!") E se eu digitar uma hora que não existe?
2 soluções
hora = int(input("Que horas são? "))
if hora >= 4 and hora < 12:
print("Bom dia!")
if hora >= 12 and hora < 18:
print("Boa tarde!")
if hora >= 18 and hora < 24:
print("Boa noite!")
if hora < 4 and hora > 0:
print("Boa madrugada!")
if hora < 0 or hora >= 24:
print("Essa hora é inválida!") 1º: Cobrir essa possibilidade
else
Utilizado após um if
Executado se o if anterior não foi executado
if EXPRESSAO1 :
CODIGO P/ EXPRESSAO1 == True
else:
CODIGO P/ EXPRESSAO1 == False --> "senão"
Apenas leva em consideração o
último if antes dele
Estruturas
de Decisão
nome = input("Digite seu nome de aluno: ")
if nome == "Batista":
print("Desculpe, apenas alunos
podem digitar o nome.")
else:
print("Registrado com sucesso!") Estruturas
de Decisão
hora = int(input("Que horas são? "))
if hora >= 4 and hora < 12:
print("Bom dia!")
if hora >= 12 and hora < 18:
print("Boa tarde!")
if hora >= 18 and hora < 24:
print("Boa noite!")
if hora < 4 and hora > 0:
print("Boa madrugada!")
else:
print("Essa hora é inválida!") Que horas são?
11
Bom Dia!Que horas são?
3
Boa Madrugada!Que horas são?
-4
Essa hora é Inválida!Essa hora é Inválida! ?
?
?
?
?
?
hora = int(input("Que horas são? "))
if hora >= 4 and hora < 12:
print("Bom dia!")
if hora >= 12 and hora < 18:
print("Boa tarde!")
if hora >= 18 and hora < 24:
print("Boa noite!")
if hora < 4 and hora > 0:
print("Boa madrugada!")
else:
print("Essa hora é inválida!")hora = 3
hora = int(input("Que horas são? "))
if hora >= 4 and hora < 12:
print("Bom dia!")
if hora >= 12 and hora < 18:
print("Boa tarde!")
if hora >= 18 and hora < 24:
print("Boa noite!")
if hora < 4 and hora > 0:
print("Boa madrugada!")
else:
print("Essa hora é inválida!")hora = -3
hora = int(input("Que horas são? "))
if hora >= 4 and hora < 12:
print("Bom dia!")
if hora >= 12 and hora < 18:
print("Boa tarde!")
if hora >= 18 and hora < 24:
print("Boa noite!")
if hora < 4 and hora > 0:
print("Boa madrugada!")
else:
print("Essa hora é inválida!")hora = 11
elif
Utilizado após um if ou elif
Faz a checagem se o if não foi executado
if EXPRESSAO1 :
CODIGO P/ EXPRESSAO1 == True
elif EXPRESSAO2:
CODIGO P/ EXPRESSAO2 == True
e EXPRESSAO1 = False --> "senão se"
Apenas leva em consideração o
último if antes dele
--> "else if"
Estruturas
de Decisão
hora = int(input("Que horas são? "))
if hora >= 4 and hora < 12:
print("Bom dia!")
elif hora >= 12 and hora < 18:
print("Boa tarde!")
elif hora >= 18 and hora < 24:
print("Boa noite!")
elif hora < 4 and hora > 0:
print("Boa madrugada!")
else:
print("Essa hora é inválida!") Que horas são?
11
Bom Dia!Que horas são?
3
Boa Madrugada!Que horas são?
-4
Essa hora é Inválida! hora = int(input("Que horas são? "))
if hora >= 4 and hora < 12:
print("Bom dia!")
elif hora >= 12 and hora < 18:
print("Boa tarde!")
elif hora >= 18 and hora < 24:
print("Boa noite!")
elif hora < 4 and hora > 0:
print("Boa madrugada!")
else:
print("Essa hora é inválida!")hora = int(input("Que horas são? "))
if hora >= 4 and hora < 12:
print("Bom dia!")
if hora >= 12 and hora < 18:
print("Boa tarde!")
if hora >= 18 and hora < 24:
print("Boa noite!")
if hora < 4 and hora > 0:
print("Boa madrugada!")
if hora < 0 or hora >= 24:
print("Essa hora é inválida!")Não são feitas
checagens desnecessárias
Pior caso: 5 checagens
Melhor caso: 1 checagem
Permitem controlar o fluxo da aplicação
Escolhas podem ser feitas
Ações podem ou não ser executadas
dependendo do contexto da aplicação
if --> 'se'
else --> 'senão'
elif --> 'senão se'
Estruturas
de Decisão
Controle
de Fluxo
Realiza ação A Realiza ação B Realiza ação C Recebe um número Incrementa ele em 1 Diz boa noite Imprime ele5x
numero = int(input("Digite um número: "))
numero += 1
print(numero)
numero += 1
print(numero)
numero += 1
print(numero)
numero += 1
print(numero)
numero += 1
print(numero)
print("Boa Noite") Digite um número:
3
4
5
6
7
8
Boa Noite Procedural
Verboso
Funcional
Poluído
Estruturas de
Repetição
Permitem controlar o fluxo da aplicação
Permite a repetição de uma ou mais ações
A repetição ocorre até um critério ser atingido
while
Repete um conjunto de comandos até
uma condição deixar de ser verdadeira
--> 'enquanto'
while EXPRESSÃO:
CODIGO P/ EXPRESSÃO = True
CODIGO P/ EXPRESSÃO = True
CODIGO P/ EXPRESSÃO = True
CODIGO P/ EXPRESSÃO = False Estruturas de
Repetição
numero = int(input("Digite um número: "))
contador = 1
while cont < 6:
print(numero+contador)
print("Boa Noite") Digite um número:
3444444444...



Você criou um
Loop Infinito!
numero = int(input("Digite um número: "))
contador = 1
while contador < 6:
print(numero+contador)
contador += 1
print("Boa Noite") Digite um número:
345678Boa Noitenumero = int(input("Digite um número: "))
limite = numero + 6
while numero < limite:
numero += 1
print(numero)
print("Boa Noite") Usuário digita um número
Programa incrementa e
imprime o número até
chegar em 100
Se o número for maior ou igual
a 100 não faça nada
numero = int(input("Digite um número: "))
if numero < 100:
while numero < 100:
numero += 1
print(numero) Precisamos desse if ?
Digite um número:
95
96
97
98
99
100Digite um número:
101 numero = int(input("Digite um número: "))
while numero < 100:
numero += 1
print(numero)numero = 101
101 > 100
Não precisamos do if
numero = int(input("Digite um número: "))
while numero < 100:
numero += 1
print(numero)Digite um número:
95
96
97
98
99
100Digite um número:
101 Usuário digita um número
Programa mostra todos os
números múltiplos de 7
daquele número até 100
numero = int(input("Digite um número: "))
while numero < 100:
if numero % 7 == 0 :
print(numero)
numero += 1 numero = int(input("Digite um número: "))
while numero < 100:
if numero % 7 == 0 :
print(numero)
numero += 1 X
for
Repete um conjunto de comandos
--> 'para'
for CONTADOR in range(INICIO, FIM):
CÓDIGO
CÓDIGOJá vem com a estrutura pra contadores
Estruturas de
Repetição
A função
range()
Usada em conjunto com o in
Faz com que o contador seja
incrementado dentro
do intervalo descrito
contador in range(1, 5)
contador = 1
contador = 2
contador = 3
contador = 4 numero = int(input("Digite um número: "))
for cont in range(1, 6):
print(numero+cont)
print("Boa Noite")Digite um número:
345678numero = 3cont = 1cont = 2cont = 3cont = 4cont = 5cont = 6 No laço: numero = int(input("Digite um número: "))
for cont in range(1, 6):
print(numero+cont)
print("Boa Noite") numero = int(input("Digite um número: "))
cont = 0
while cont < 6:
print(numero+cont)
cont+=1
print("Boa Noite") Qual é melhor?
Quando usar cada um?
While:
For:
Até que uma
condição deixe
de ser verdade
Relizar operações
baseadas em
contadores
Como forçar a saída de um laço?
break
continue
Controle
de fluxo
Controle
de fluxo
break:
--> 'quebrar'
Força a saída imediata do laço
for cont in range(1, 10):
print(cont) 1
2
3
4
5
6
7
8
9for cont in range(1, 10):
print(cont)
if(cont == 5):
break for cont in range(1, 10):
print(cont)
if(cont == 5):
breakfor cont in range(1, 10):
if(cont == 5):
break
print(cont)
1
2
3
4
5 1
2
3
4continue:
--> 'continue'
Pula para a próxima
iteração do laço
1
2
3
4
5
6
7
8
9for cont in range(1, 10):
if(cont == 5):
continue
print(cont)
1
2
3
4
6
7
8
9 Controle
de fluxo
for cont in range(1, 10):
print(cont)
if(cont == 5):
continuefor cont in range(1, 10):
if(cont == 5):
continue
print(cont)
1
2
3
4
6
7
8
9 1
2
3
4
5
6
7
8
9Conselho
Imposição
X
Evitem ao máximo usar
break e continue
Por que?
Por que voce ensinou então?
E o que eu faço se não é pra usar?
Por que?
Quebram o fluxo do código
Imprevisível
Ilegível
Não amigável a open source
Não amigável a trabalho em equipe
Por que voce ensinou então?
E o que eu faço se não é pra usar?
Estava usando for?
Mude para um while
Sintaticamente mais correto
Permite melhor o uso de flags
Estava usando while?
Use flags
break:
flags
Variável que sinaliza se o laço deve continuar ou não
Geralmente possui valor booleano (True ou False)
Controle
de fluxo
for cont in range(1, 10):
if(cont == 5):
break
print(cont)cont = 1
continuoNoLaco = True
while cont < 10 and continuoNoLaco:
print(cont)
cont++
if cont == 5:
continuoNoLaco = False Cheque antes da execução de
cada iteração do laço
continue:
E o que eu faço se não é pra usar?
for cont in range(1, 10):
if(cont == 5):
continue
print(cont)
for cont in range(1, 10):
if(cont != 5):
print(cont)
Hora da Revisão
Relembramos a aula passada
Estruturas de Decisão
Estruturas de Repetição
Mecanismos e técnicas
de controle de fluxo
Resolver uma Equação de Segundo Grau
Atividade 1
Imprimir na tela:
Formato: Ax² + Bx + C = 0
Raíz(es) reais
OBS:
Checar determinante
2 raízes, 1 raiz ou nenhuma
Receber do usuário:
Coeficientes
A sequência de Fibonacci
Atividade 2
Número inteiro N > 0 (Checar)
Receber do usuário:
Imprimir na tela:
N números da sequencia de Finonacci
1 1 2 3 5 8 13 21 34 ...
Um elefante incomoda...
Atividade 3
Número inteiro N > 0 (Checar)
Receber do usuário:
Fazer o programa escrever N frases da música do elefante.
Ex: N = 4
1 elefante incomoda muita gente
2 elefantes incomodam incomodam muita mais
3 elefantes incomodam muita gente
4 elefantes incomodam incomodam incomodam incomodam muito mais
É primo?
Atividade 4
Número inteiro N > 0 (Checar)
Receber do usuário:
Imprimir se N é primo ou não
Minicurso de Python - Aula 2
By João Batista
Minicurso de Python - Aula 2
- 268