aula 12 - começando a programar : repetição
TRANSCRIPT
![Page 1: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/1.jpg)
Introdução a Algoritmos e
Linguagens de Programação
ApresentaçãoLuiz Augusto de M. Morais
Aula 12 | Começando a programar: repetição
![Page 2: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/2.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Roteiro
●Analisando o programa atual●Repetindo com Python●Usando o interpretador
Repetição
●Entendendo o novo problema●Primeira tentativa●Tornando as coisas aleatórias●Segunda tentativa●Perguntas idiotas
Jogo de Adivinhação
![Page 3: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/3.jpg)
Repetição
Analisandoo programa atual
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
![Page 4: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/4.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Analisando o programa atual
print('Bem-vindo!')
palpite = input('Chute um número: ')
palpite = int(palpite)
if palpite == 5:
print('Você ganhou!')
else:
if palpite > 5:
print('Muito alto.')
else:
print('Muito baixo.')
print('Fim do jogo')
![Page 5: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/5.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Analisando o programa atual
Certo. Mas tenho que executar várias vezes?
![Page 6: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/6.jpg)
Repetição
Repetindo com Python
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
![Page 7: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/7.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Repetindo com Python
resposta = 'não'
while resposta != 'sim':
print('Ok, vamos continuar.')
resposta = input('Pede pra sair! ')
Coloque um valor padrão para o teste passar
Não esqueça da endentação
O valor da variável de teste tem que mudar para sair do loop.
![Page 8: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/8.jpg)
Repetição
Usando o interpretador
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
![Page 9: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/9.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Usando o Interpretador 1/4
>>> resposta = 'não'>>> while resposta != 'sim':... print('Ok, vamos continuar')... resposta = input('Pede pra sair! ')...Ok, vamos continuarPede pra sair! nãoOk, vamos continuarPede pra sair! nãoOk, vamos continuarPede pra sair! sim
![Page 10: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/10.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Usando o Interpretador 2/4
>>> x = 5>>> while x > 0:... print(x)...5555555
Loop infinito!
![Page 11: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/11.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Usando o Interpretador 3/4
>>> x = 5>>> while x > 0:... print(x)... x -= 1...54321
Com esse decrementadoro loop vai parar
![Page 12: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/12.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Usando o Interpretador 4/4
>>> x = 0>>> while x < 10:... if x % 2 == 0:... print(x)... x += 1...02468
![Page 13: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/13.jpg)
Jogo de Adivinhação
Entendendoo novo problema
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
![Page 14: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/14.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Entendendo o novo problema
Já temos um jogo onde você pode dar palpites e o programa informa se o palpite é maior ou menor que o número correto.
O problema é: só temos uma chance!
Temos que achar uma forma deste código ser repetido várias vezes, até o usuário acertar o palpite.
![Page 15: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/15.jpg)
Jogo de Adivinhação
Primeira tentativa
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
![Page 16: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/16.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Primeira tentativa
print('Bem-vindo!')
palpite = input('Chute um número: ')
palpite = int(palpite)
if palpite == 5:
print('Você ganhou!')
else:
if palpite > 5:
print('Muito alto.')
else:
print('Muito baixo.')
print('Fim do jogo')
●Qual a parte do código tem que repetir?
●Qual será a variável de teste para o loop?
●Não esqueça de definir um valor padrão para a variável de teste fora do loop.
5 minutos!
![Page 17: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/17.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Primeira tentativa
print('Bem-vindo!')
palpite = 0
while palpite != 5:
palpite = input('Chute um número: ')
palpite = int(palpite)
if palpite == 5:
print('Você ganhou!')
else:
if palpite > 5:
print('Muito alto.')
else:
print('Muito baixo.')
print('Fim do jogo')
Variável de teste com valor padrão
Onde a variável de teste muda seu valor
![Page 18: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/18.jpg)
Jogo de Adivinhação
Test Drive
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
![Page 19: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/19.jpg)
Jogo de Adivinhação
Tornandoas coisas aleatórias
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
![Page 20: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/20.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Tornando as coisas aleatórias
import random
numero_aleatorio = random.randint(1, 10)
print(numero_aleatorio)
Módulo que possui funções para gerar números aleatórios
Qualquer número inteiro entre 1 e 10
![Page 21: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/21.jpg)
Jogo de Adivinhação
Usando o interpretador
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
![Page 22: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/22.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Usando o Interpretador
>>> import random>>> random.randint(1,3)2>>> random.randint(1,3)1>>> random.randint(1,3)1>>> random.randint(1,3)3>>> random.randint(1,3)2
![Page 23: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/23.jpg)
Jogo de Adivinhação
Segunda tentativa
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
![Page 24: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/24.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Segunda tentativa
print('Bem-vindo!')
palpite = 0
while palpite != 5:
palpite = input('Chute um número: ')
palpite = int(palpite)
if palpite == 5:
print('Você ganhou!')
else:
if palpite > 5:
print('Muito alto.')
else:
print('Muito baixo.')
print('Fim do jogo')
●Importe o módulo que possui funções que produzem números aleatórios
●Crie uma variável e armazene nela um valor inteiro aleatório
●Troque o valor que está fixo pela nova variável aleatória
3 minutos!
![Page 25: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/25.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Segunda tentativa
import random
print('Bem-vindo!')
palpite = 0
segredo = random.randint(1, 10)
while palpite != segredo:
palpite = input('Chute um número: ')
palpite = int(palpite)
if palpite == segredo:
print('Você ganhou!')
else:
if palpite > segredo:
print('Muito alto.')
else:
print('Muito baixo.')
print('Fim do jogo')
Módulo que possui funções para gerar números aleatórios
Guardando na variável segredo um número inteiro aleatório entre 1 e 10
Substituído número 5 pela variável segredo
![Page 26: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/26.jpg)
Jogo de Adivinhação
Test Drive
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
![Page 27: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/27.jpg)
Jogo de Adivinhação
Perguntas Idiotas
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
![Page 28: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/28.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Perguntas Idiotas
●Por que tem umas palavras coloridas no código?●Só existe um tipo de estrutura de repetição em Python?●O que significa while?●Quando é que a execução de um programa sai do bloco while?●O que é um loop infinito, mesmo?●O que é aquele import random?●Eu posso importar outros módulos?●O random possui outras funções?
![Page 29: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/29.jpg)
●Estrutura de repetição while●Módulo:
● random●Função:
● random.randint()
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
O que aprendemos hoje?
![Page 30: Aula 12 - Começando a programar : repetição](https://reader033.vdocuments.pub/reader033/viewer/2022060203/559ebcea1a28ab7e2a8b470a/html5/thumbnails/30.jpg)
Referências
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETO HERMES
BARRY, Paul; GRIFFITHS, David. Head First Programming.Sebastopol: O'Reilly, 2009.