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ário
informa ao usuário
  que não possui
  raizes reais
 calcula 
 apenas
  uma

Delta
><= 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 ele

5x

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:
3
4
4
4
4
4
4
4
4
4
...

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:
3
4
5
6
7
8
Boa Noite
numero = 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
100
Digite 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
100
Digite 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ÓDIGO

Já 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:
3
4
5
6
7
8
numero = 3
cont = 1
cont = 2
cont = 3
cont = 4
cont = 5
cont = 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
 9
for cont in range(1, 10):
    print(cont)
    if(cont == 5):
        break
 
for cont in range(1, 10):
    print(cont)
    if(cont == 5):
        break
for cont in range(1, 10):
    if(cont == 5):
        break
    print(cont)
 1
 2
 3
 4
 5
 1
 2
 3
 4

continue:

--> 'continue'

Pula para a próxima

iteração do laço

 1
 2
 3
 4
 5
 6
 7
 8
 9
for 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):
        continue
for 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
 9

Conselho

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

Made with Slides.com