Até o momento você aprendeu a desviar das coisas. A partir de agora você vai aprender a repetir elas. Então, coloca uma ficha, aperta start e vem [Música] comigo.
Olá, pequeno gafanhoto. Seja bem-vinda a mais uma aula desse segundo mundo do seu curso de Python. O meu nome é Gustavo Guanabara, eu sou seu professor e é nesse ambiente mais frio, já que a gente tá no mundo do gelo, que a gente vai aprender mais uma estrutura de controle.
Nós vamos começar uma nova categoria de estrutura de controle, que são os laços, as repetições ou então as iterações. Você pode chamar de qualquer um desses nomes. Cuidado, não é interação, é iteração.
E nós chegamos agora aqui, ó, a aula 13 do seu curso de Python. Já faz parte do mundo dois. E nessa aula nós vamos começar a estudar os laços.
é a primeira aula sobre laço. A gente vai ter mais aulas pra gente poder entender melhor todas as possibilidades e todas as técnicas de se trabalhar com intererações, né, com repetições dentro de linguagens de programação. E a gente vai começar com a estrutura de repetição que a maioria dos alunos gosta por conta da simplicidade.
Nós vamos começar pela estrutura de repetição mais simples e a gente vai partir pras mais complexas mais pra frente. Mas nessa aula a gente vai ver a nossa primeira estrutura. Então se prepara aí que tá vindo a aula teórica.
[Música] E nessa aula 13 a gente vai abandonar, vai deixar um pouquinho de lado aquela história do carrinho, né, que virar pra esquerda, virar pra direita, que ali a gente pode testar as possibilidades. Você viu na aula 10 do primeiro mundo as condições mais simples, viu na aula 12 desse segundo mundo as mais complexas, né? A aula anterior, aula 12, foi uma aula que a gente viu muita coisa complexa.
E se você ainda não viu a aula e nem fez os exercícios da aula 12, não prossiga nos seus estudos. Ó, aqui em cima na minha cabeça tem o izinho de interatividade, aperta ele e vai diretamente pra playlist de aula do mundo dois. Vai ter a playlist do mundo um, vai ter a playlist do mundo dois, mas vai pra aula do mundo dois.
Se você ainda não viu, né, se você já completou o mundo um, óbvio, você não precisa ver, mas a primeira aula do mundo dois é importantíssima, você precisa ter assistido ela para poder assistir essa aula agora. E aqui em cima também tá a nossa playlist de exercícios. A gente parou, né, a gente tá nessa aula a gente vai passar dos 50 exercícios feitos dentro do seu curso de Python.
Mas o que eu vou trazer aqui agora é uma outra história, uma outra condição aqui, uma outra possibilidade. Seguinte, vamos botar esses blocos aqui e dentro desses blocos, né, eles estão vazios ainda, eu vou colocar pedacinhos de chão. Então, criei uma plataforma ali e nessa plataforma eu vou colocar uma fruta e vou colocar também um personagem.
Esse personagem aí que você tá vendo, você já deve ter visto várias vezes aí nas aberturas, nas animações aí do curso em vídeo. Esse aí é o meu personagem, é o Pequeno Guanabara, que foi criado pelo Ramon, que é o nosso artista aí do curso em vídeo. Parabéns pelo trabalho, Ramon.
Muito obrigado por toda a ajuda que você dá pra gente e com certeza a galera gostou para caramba desse personagem. Eu sou apaixonado por ele, eu gosto muito. Mas o que a gente veio fazer aqui é o seguinte, olha só.
Eu vou tentar chegar com esse personagem até a maçã. E aí eu vou criar um passo a passo para que isso aconteça. O que eu vou fazer primeiro, ó, já botei ali, é um comando passo.
Se eu der um comando passo, ele vai dar um passo. Beleza? Passou da primeira plataforma pra segunda.
Vou dar mais um comando passo, ele vai dar mais outro passo. Vou dar mais um comando passo. Ainda não chegou.
Mais um comando passo, tá muito perto. Mais um comando passo. Cheguei na plataforma onde tem uma maçã.
E aí agora eu posso pegar a maçã. Tranquilo? Então o que tá lá no canto é o nosso passo a passo que a gente diz, a gente chama de nosso algoritmo para resolver esse problema.
Então eu tenho aqui, ó, desse lado aqui, eu tenho o algoritmo, o passo a passo para resolver a nossa situação, que era o personagem quer comer uma maçã. É muito simples, mas se você perceber, boa parte do programa está se repetindo. Por exemplo, se eu ampliar essa plataforma lá, botei uma plataforma maior e coloquei mais pedacinhos de chão, vai demorar mais tempo pro personagem chegar até a maçã.
E você vai falar assim: "Ah, é só ficar passo, passo, passo, passo, passo, passo, passo inúmeras vezes. " E se forem 500 passos para chegar até a maçã? E se forem, sei lá, 10 milhões de passos, você vai ficar dando passo, passo, passo, passo, passo, passo, passo, passo 1 milhão de vezes?
E aí é que eu vou te mostrar um comando que toda linguagem de programação tem e que o Python não é diferente de outras linguagens de programação. Também vai ter, que é a estrutura de laço, que é o assunto da nossa aula. Nosso programa vai começar ali e eu vou colocar um laço.
Eu vou representar por uma uma bolinha, né, uma uma setinha que vai ficar rodando, porque basicamente sempre que eu crio essa estrutura de bolinha rodando, eu vou criar um laço. Esse laço é representado por essa essa estrutura aqui, tá vendo? Tudo que eu colocar aqui, onde tá batendo a luz, vai se repetir eternamente.
Então, por exemplo, se eu colocar um passo aqui dentro, ele vai ficar fazendo, ó, chegou aqui dentro, caiu na holdana, passo, volta para cá, passo, volta para cá, passo, volta para cá, passo. E assim ele fica para sempre. Se eu fizer isso aqui, ele vai andar, andar, andar, andar, andar, andar, andar e vai cair.
Porque ele não vai pegar a maçã, ele vai chegar aqui no final da plataforma e vai cair. Então, não é isso que eu quero. Então, eu vou ter que colocar aqui do lado da bolinha um limite.
Para eu definir esse limite, eu vou numerar cada uma das casinhas, né? Eu vou fazer um contador para essas casinhas. Cada espaço vai ter um número.
Então, a gente fez aqui a numeração, tá indo de zero até 10. Eu vou querer que ele ande do quadradinho um até o quadradinho 10, não é isso? Então eu vou vir aqui em cima e vou colocar, olha só, do quadradinho um até o quadradinho 10, você conta para mim?
Você faz para mim lá e o o comando passo. Então, olha só, esse laço que vai acontecer aqui, ó. Passo, volta, passo, volta, passo, volta, vai ter um contador aqui dentro que vai fazer a contagem de um até 10.
E dessa maneira, se eu executar esses passos, ele vai começar a andar e vai fazer isso do quadradinho, ó, tá no quadradinho cinco, no seis, não chegou até o quadradinho 10. Então ele tem um contador ali dentro que tá contando a quantidade de quadradinhos. E quando ele chegar no 10, ele simplesmente vai parar, porque ele não vai repetir mais.
Chegou no limite, chegou no quadradinho de 10, ele vai sair e aí ele pode executar o comando que quiser. Se ele tá parado ali, o comando que eu quero executar é o comando para pegar a maçã, pegar o a fruta e comer. Deu para entender essa estrutura que tá aqui do lado?
Isso aqui a gente chama de laço de repetição ou de iteração. Essa esse laço específico, ele se chama laço com variável de controle. Já já você vai entender porque que o Python chama isso de laço com variável de controle.
você vai entender o que que é a variável de controle e vai de quebra aprender como escrever isso pro Python. Mas primeiro, em vez de escrever pro Python, vamos escrever isso em português. Eu vou colocar aqui laço C no intervalo de 1 a 10.
Esse C é a minha variável de controle. Você pode dar o nome que você quiser para essa variável aqui. Eu vou chamar de C, C de contador.
Normalmente a gente faz isso. Então eu vou fazer um laço para eu contar no intervalo entre 1 e 10. Dentro desse comando, ó, dentro do laço, eu tenho só um comando, que é o comando passo.
Então, eu vou escrever, em vez de escrever coladinha aqui, eu vou escrever passo mais para dentro. Então, ele tem um espaçamento aqui que você já viu, que a gente chama de indentação. Você viu lá na aula 10, da aula 10 em diante, a gente viu o que que é a indentação e qual é a importância dela.
E aí eu tenho, depois que eu fizer esse laço, eu tenho a saída e vou usar o comando pega. Para usar o comando pega, eu simplesmente vou escrever pega aqui, ó, colado do lado esquerdo. Significa que o comando pega, ele está fora do laço.
Se ele estivesse escrito na mesma linha de passo aqui, ó, mais para dentro, ele estaria dentro. Mas como ele está do lado de fora, ele não faz parte do laço. Deu para entender?
Beleza. E como é que eu escrevo isso em Python? Como é que eu vou escrever laço C no intervalo de 1 a 10?
Olha só como é que é simples. Eu vou colocar for C in range 1 10. Isso é, você vai fazer o contador no intervalo de 1 até 10, exatamente igual.
Não esquece, ó, você tem os dois pontos aqui que são muito importantes. Não se esqueça, tem muito aluno que chega para mim e fala: "Ah, Guanabara, fiz igualzinho". Você não fez igualzinho.
Se não tá funcionando, foi bobeirinha. Geralmente a bobeira de quem tá começando a estudar Python é esquecer esses dois pontos. Aqui dentro eu vou escrever passo da mesma maneira e vou escrever pega da mesma maneira.
Então, a estrutura de cima, a palavra laço pro python, eu vou substituir por for, a palavra no eu vou substituir por in. E a palavra intervalo eu vou substituir pela palavra range, que é intervalo em inglês. Viu como é fácil?
Mas antes da gente arregaçar as mangas e partir lá pro pai Charm, eu vou criar uma outra situação. Na verdade, vou criar mais algumas situações. Vou colocar as mesmas bases ali, né?
Só que tá sem chão ainda. O personagem vai cair se eu deixar sem chão. Vamos colocar um chão ali.
E aí você percebe que eu deixei espaços em branco e se eu simplesmente der um passo pra frente, eu posso cair num buraco. Então eu apresento para vocês um novo comando, que é o comando para pular. Então eu vou fazer o seguinte, ó.
Vou dar o comando passo e depois eu vou dar o comando pula, que eu vou representar por essa molinha ali do lado. Que que seria o passo e pula? Ó, vou fazer passo e pula.
Beleza? Ele deu um passo e pulou. Qual é o próximo passo aqui dessa dessa sequência?
Eu vou dar de novo passo e pula. Ele vai dar um passo e vai pular mais uma vez. Mais uma vez ele vai repetir passo e pula.
E ele vai repetir o mesmo procedimento. E no final eu não posso dar passo e pula, senão ele vai dar um passo, vai ficar no lugar da maçã. Em vez de pegar a maçã, ele vai se jogar no buraco, ele vai pular para dentro do buraco.
Então eu vou dar o comando passo, ele vai andar pra frente, eu vou dar o comando para pegar. E ele pegou a maçã. Deu para entender como é que funciona o procedimento aqui?
Aí o que que eu vou fazer? Vamos analisar esse código que foi gerado aqui, essa sequência que foi gerada aqui. Se você analisar com cuidado, vai perceber que os comandos passo e pula acontecem não uma, não duas, mas três vezes.
Você percebe que sequencialmente, na mesma sequência, ele executa passo e pulo, passo e pulo, passo e pulo. Ele faz isso três vezes, depois ele dá passo e pega. Então o que que eu vou fazer?
Eu vou substituir essa ocorrência de três vezes passa e pula. Vou fazer o seguinte, vou criar um laço, esse laço representado por essa bolinha aqui que a gente fez e eu vou fazer ele repetir. Então, ó, isso aqui, tudo que estiver aqui, onde tá a luz, vai acontecer eternamente do jeito que tá aqui.
Vou pegar esse passo e vou pegar esse pula, vou colocar ali dentro, ó lá. Passo e pula. Se eu deixar assim, ele vai ficar andando e pulando, andando e pulando, andando e pulando para sempre.
Eu não quero que isso aconteça. Eu quero que isso aconteça só três vezes. O que que eu vou fazer?
Simples, ó. Vou colocar um painelzinho aqui do lado e nesse painel eu vou dizer: "Eu quero que você faça só três vezes. " Vai fazer de zero a três.
E se você tá pensando na guarre tem quatro vezes. Já já você vai entender como é que funciona a contagem do Python. Aguarde mais um pouquinho, com certeza vai valer a pena.
Então tô te dizendo, ó, nesse caso aqui, isso aqui vai acontecer três vezes. Terminado isso, eu não terminou o programa, né? Ainda falta dar mais um passo e pegar.
Então vai sair daqui quando terminar essa contagem e vai fazer o que tá exatamente nessa luz aqui, que é onde vai ter mais um passo e o comando para pegar. Então você percebe que esse bloco aqui, essa estrutura aqui, substitui com muito sucesso essa estrutura aqui. E se você tá pensando, ah, mas elas são quase do mesmo tamanho.
Imagina que eu tenha que dar passo e pulo, passo e pulo, passo e pulo, por exemplo, 2000 vezes. Como é que eu refaço isso daqui? Eu tenho que fazer isso aqui 2.
000 vezes, vai ficar gigante. Como é que eu mudo isso daqui? É só substituir esse três aqui por 2000.
Acabou. Viu como é simples essa estrutura aqui, a estrutura de laço, ela é importantíssima para qualquer linguagem de programação. Ela substitui o comando básico, né?
E como é que eu escreveria isso aqui numa linguagem, né, genérica? Eu colocaria laço C no intervalo 0 a3. Ó lá, é um laço.
No intervalo de zer a três. Dentro do laço, eu não tenho um comando só. Eu tenho dois, ó.
Passo e pula. Então vou colocar passo e vou colocar pula dentro do do meu laço. E do lado de fora eu vou botar passo e pega.
Percebe aqui, ó? Passo e pega está do lado de fora disso aqui. Então esse programa ele é bem menor do que o programa tradicional, que eu teria que fazer passo, pula, passo, pula, passo, pula, passo, pega.
Beleza? E se essa sequência de passo pulo aqui fosse maior do que, sei lá, sei lá, 50. 000 vezes, era só eu trocar esse três aqui por 50.
000 e tudo estaria resolvido. E mais uma vez, antes de dar o último passo pra gente poder ir pra prática, dar uma olhada nessa última situação. Antes nós vamos fazer o seguinte, vamos transcrever isso daqui pra Python.
Como é que eu faço? For in range 03. E o resto é igual.
Passo, pula, passo, pega. Então, compara o que tá de um lado e compara o que tá do outro. Do lado direito da tela, tá lá em português e do lado esquerdo, né, aqui pertinho de mim, tá o range, tá?
A forma de utilizar um range dentro do Python utilizando o laço for. Beleza? E agora sim, antes de chegar ao final dessa aula teórica, antes dessa desse primeiro momento teórico, eu vou criar uma terceira situação, fazer a mesma situação que antes.
Ó lá, o mesmo personagem com o mesmo cenário. É só eu dar passo, pula, passo, pula, passo, pula. Beleza?
Vou dar aquele comando, o comando que eu acabei de aprender ali, né, que a gente acabou de fazer anteriormente. E só que eu vou fazer o seguinte, eu vou largar duas moedas no cenário. E aí eu quero pegar além da maçã no final, eu quero pegar as moedas no meio do caminho.
Se você analisar aqui, ó, se eu der passo, pula, pega, passo, pula, não pega, passo, pula, pega, dá um passo e pega. Você viu que mudou um pouco o padrão? Tipo, eu vou passo, pula, eu tenho que dar pega aqui, senão eu vou deixar a moeda para trás.
Se eu fizer, passo, pula, passo, pula, passo, pula, se eu fizer esse programa aqui de cima, eu não pego moeda nenhuma. Então eu tenho que dar passo, pula, pega, passo, pula, não pode pegar. Então eu só vou pegar se tiver alguma moeda.
Então eu posso utilizar uma estrutura de controle condicional, que foi o que a gente viu, uma parte no mundo anterior e outra parte na aula passada. Então é por isso que é muito importante você não perder, não pular etapas. Então eu vou abrir um buraco nesse código aí e nesse buraco do código eu vou colocar se tiver moeda, vou colocar dentro do si pega.
Você percebe aqui que existem níveis diferentes. Esse pega aqui, ele tá dentro do laço e tá dentro do si. Esse passo aqui tá dentro do laço, mas tá fora do si.
Então é muito importante que você consiga visualizar essa estrutura aqui e consiga entender como um código é estruturado para conseguir funcionar dentro das linguagens de programação. Esse conceito que eu tô te passando aqui não serve só pro Python, isso serve para qualquer linguagem de programação que você vá aprender daqui pra frente. Ou se você já sabe alguma linguagem, você já tá, tá, pera aí, isso aí eu já sei.
Na verdade, eu tô fazendo o quê? Eu tô pegando essa estrutura aqui, um si, e colocando dentro de uma laço. Então eu tô fazendo uma estrutura dentro do outra e a gente aprendeu dentro da programação, né, da das aulas anteriores que isso se chama aninhar.
Eu estou colocando uma estrutura dentro da outra. Agora, bora, eu posso botar um si dentro de um para, eu posso colocar um para dentro de um si, eu posso colocar um si dentro de outro si dentro de um para. gafanhoto, você pode fazer o que você quiser.
A partir do momento em que você conhece as estruturas, você pode interligá-las ou aninhá-las da maneira que você achar melhor. Guarda sempre isso na tua cabeça, tenha isso muito claro, porque às vezes eu tenho que juntar uma na outra, juntar uma estrutura na outra para que elas comecem a funcionar do jeito que eu quero. Então, executando essa rotina aqui, ele vai conseguir resolver o meu problema.
Ele vai andar e dar pulo se tiver moeda. Então, ele vai começar aqui, ó. Se tiver moeda, não, não tem.
Passa e pula. Parei aqui. Se tiver moeda, tem moeda.
Então pega, passa e pula. Aqui, ó. Ele não vai pegar, então ele não pega, dá passe e dá pula.
E assim ele consegue pegar as moedas do cenário. E se você perceber, tem um pequeno passo que tá faltando aqui no negócio. Eu quero que você acrescente o passo que tá faltando e dê continuidade aos seus estudos.
Como é que eu faço essa estrutura daqui no Python? Simples, é só converter. Olha só, eu posso botar laço vira for.
for for c no intervalo, ó. for C in range 03. Coloco if moeda para representar o si.
Coloco o pega do lado de dentro e o resto é tudo igual. Passo, pula, passo, pula, passo, pega. Beleza?
Mais uma vez compara os resultados que estão aparecendo aqui para você conseguir criar uma relação e visual entre a sintasse do Python e a sintasse que a gente tá utilizando aqui no Portugal, no algoritmo genérico. Tranquilo? Conseguiu entender tudo?
Pois está chegando agora a hora de botar a mão na massa. Abre o seu pai charme e vamos fazer a sua aula prática sobre o conceito parte um dos laços de [Música] repetição. Já estou aqui no pai charme, ó.
Já criei a aula 13, tudo bonitinho, como se já fez 1 milhão de vezes. E vamos fazer o seguinte, ó. Se eu der print oi, vamos executar esse comando dificílimo de executar, ó, botão direito, run e ele vai escrever oi para mim sem problema nenhum, sem estresse, sem nada.
E aí é o seguinte, se eu pegar esse comando e da ele, sei lá, print oi e print oi, eu executo novamente, ele vai escrever oi três vezes. Se eu pegar isso aqui, ó, vou copiar e vou colar. Já escrevi hoje seis vezes.
Se eu executar de novo seis vezes, tá? Agora isso é fácil. Mas e se eu quisesse, sei lá, 10.
000 vezes? Ia dar um trabalho desgraçado escrever print oi aqui 10. 000 vezes?
De maneira similar. O que eu posso fazer para escrever esse print seis vezes? Eu posso fazer aqui, ó, for.
Vou usar o C, né? Para, pode ser o nome que você quiser. For em range de um até seis.
Vamos fazer de um até seis para ver o o negócio que eu tinha explicado para você. Se você perceber aqui, ó, esse printar para dentro. Então, apertei o tab.
A tecla tab tá duas teclas abaixo da sua tecla ES. É só achar o ESC no seu teclado desce duas teclas e essas setinhas, né, são a tecla tab. Então, vou dar outro print aqui, ó.
Print fim. Então, se eu fizer isso, ó, eu vou repetir print o de um até seis e no final vai fazer print fim, porque ele tá fora do laço. Vamos executar.
Ó lá, ó. Oi, oi, oi, oi. Fim.
Se você analisar aqui, ó, ele escreveu uma, duas, 3, 4, cinco vezes. Por que cinco vezes? Porque de um até seis, ele vai fazer de um até cinco e no seis ele para, ele não considera o último número.
Então eu posso fazer aqui, ó, de zero a seis. Beleza? Aqui ele vai fazer seis vezes, ó, de zero a seis, como eu fiz lá no no durante a aula.
Aqui ele fez 3 mais três vezes. E fim. Se por acaso, olha como é que é simples no Python, eu vou apertar tab aqui, ó.
Oi e fim. Olha só, eu simplesmente botei uma tabulação a mais. Olha como ele vai se comportar.
Ele escreveu o fim seis vezes isso porque o comando fim está dentro do forum. Se eu puxar aqui para fora, ele vai ficar fora do forum, ó. Certo?
Então o fim acontece uma vez só. Então cuidado com essa indentação, porque isso dá muita rasteira nas pessoas. Se no lugar de oi eu mandar escrever C, olha só, ele vai escrever, ó, de zero a c.
Tá? Água na bara. Eu preciso de uma contagem de um até seis.
Eu não quero uma contagem de zero até cinco. Então você quer uma contagem de um até seis. Se você fizer um até seis, ele vai fazer de um até cinco.
Isso porque o último ele ignora. Já que o último ele ignora, eu boto mais um, eu boto sete, executo novamente. E agora ele fez uma contagem de um até seis.
Tranquilo? Vamos tentar fazer o seguinte, ó. Aí, se eu quiser uma contagem de seis até zero, se eu botar um range de seis até zero e executar, ó, ele só escreveu o fim.
Falar p, pera aí, eu quero que ele conte de seis até zero. Na verdade, você quer que ele conte para trás. Se você quiser contar para trás, você bota aqui, ó, vírgula -1.
Aqui no final você vai dizer qual é a iteração, o que que vai acontecer no final do laço. Então no meu caso aqui ele vai tirar um, vai começar no seis, vai tirar um, vai para cinco, vai tirar um, vai para quatro e assim sucessivamente. Vamos executar.
Ó lá, ó. Agora ele tá funcionando corretamente. Se eu fizer isso aqui, ó, por exemplo, de zero até sete, que foi o que a gente tinha feito antes, ele vai fazer de zero a seis, ó.
Tá vendo? Z0 a se. E se eu botar aqui dois?
Olha só o que vai acontecer. Ele fez 0 2 4 e 6. Isso significa o quê?
Ele contou de zero até sete, pulando de dois em dois. Então, ó, ele, o resultado é esse daqui. É importante que você faça vários testes pra gente conseguir chegar a a a perfeição na hora de utilizar o forum.
você tem que ter proficiência na hora de utilizar essa ferramenta, na hora de utilizar essa estrutura de repetição. Então, crie vários exemplos para que você possa não é se enrolar quando você começar a se deparar com estruturas desse tipo. E partindo desse mesmo princípio, dá uma olhadinha aqui, ó.
Se eu fizer isso daqui, vamos fazer aqui, ó. N recebe um int de input, digite um número. Vou botar aqui.
Se eu executar esse programa, ó, digite um número. Vou digitar três, foi até o final. Beleza?
Eu posso fazer o seguinte aqui, ó. Fazer um for, o contador em range de zero até n, dois pontos. E vou fazer o seguinte.
Print C. Vamos escrever fim aqui. Olha só.
Vamos executar. Digite um número 7. Ele foi de zer a 6.
Vou fazer aqui, ó, n + 1, só para ele chegar até o número que eu que eu queria. Se eu botar 10, ele vai fez uma contagem de 0 a 10. Se eu executar de novo, botar três, ele fez de zer a três.
Tranquilo? Eu consigo ler um valor aqui que n utilizar esse n parte de passagem pro for. E eu posso usar essa mesma linha de raciocínio de várias maneiras.
por exemplo, vou criar o início, vou ler aqui o início, vou ler o fim e vou ler o passo. Então, eu vou ler três coisas: início, fim e passo. E vou começar no início, vou até o fim mais um e vou pulando de passo em passo.
Olha que maravilha. Dá uma analisada nesse programa aqui, ó. Eu começo, vou ler o início, vou ler o fim e vou ler o passo.
Vamos ver funcionando para você conseguir entender aqui, ó. Início dois. Final 9, passo 3.
Ó lá, ó, 2, 5 e 8. Ainda não entendeu? Vamos ver de novo.
Aqui, ó. Vou fazer o seguinte. De um até cinco, passo um, ó lá.
De um até cinco, pulando de um em um, ó. 1 2 3 4 e 5. De um até 5.
Vamos executar de novo. Se eu fizer um até, sei lá, 100, pulando de 10 em 10, ó lá, ó. 1, 21, 41 até 91.
O próximo seria 101, já tinha passado de 10. Tranquilo? Então você pode utilizar a a estrutura de repetição a seu favor para fazer o que você quiser.
Inclusive isso daqui, ó. Dá uma olhada aqui. Eu posso fazer um for C em range entre 0 e 3.
Dá um espacinho aqui para ficar bonito. Aí vamos fazer o seguinte. aqui dentro.
Vou ler input digite um valor. Colocar aqui um número inteiro, tá? Colocar aqui na frente um int.
Se eu fizer isso, vou botar aqui, ó, print fim. Na verdade, eu vou fazer isso aqui três vezes, né? De zer a três, ele vai fazer 0 1 2, vai ignorar o três.
Ele sempre ignora o último número aqui. Então vamos executar de novo. Ó lá, ó.
Digite um valor dois. Digite um valor oito, digite um valor 5. Olha só, você só leu uma vez, só que esse comando para ler tá dentro de um for.
Então, se esse for vai acontecer três vezes, ele vai ler o número três vezes. Se eu botar aqui 10, ó, ele vai pedir valores, ó, 10 vezes. Tranquilo?
Então esse tipo de situação é muito importante. E aí você pode, por exemplo, vou fazer em vez de 10, vou fazer quatro vezes aqui de zer a quatro ele vai fazer quatro vezes. E eu vou ler o número e vou fazer o seguinte, eu quero ter um somatório desses números.
Vou vir aqui, ó, vou fazer S recebe zero e vou fazer com que S receba S + N, que no caso do Python, eu posso escrever esse S recebe S + N como S mais n, certo? E aqui no fim eu vou botar aqui, ó, o somatório de todos os valores foi. E aí eu boto a formatação para botar o somatório.
Vamos testar. Vamos ver. São quatro números.
Vou digitar 4, vou digitar 2, vou digitar três e vou digitar 1. Se eu somar 4 com 2, 6, 6 com 3, 9, 9 com 1, 10. Então ele vai ter que me mostrar que o somatório entre 4, 2, 3 e 1 dá 10.
Aqui, ó, o somatório de todos os valores foi 10. Viu assim as possibilidades que você tem utilizando essas estruturas aqui? Então, o que eu quero que você entenda é que você precisa praticar muito e chegou a hora de você fazer o maior número de exercícios possível.
E o que a gente preparou aqui do curso em vídeo de presente para você é uma lista de 10 desafios que começa exatamente agora. [Música] Na verdade, eu falei que são 10 exercícios, mas na verdade não são 10, são 11 exercícios. Dá uma olhada aí, tenta fazer todos eles.
Não fica copiando resposta da internet. O que importa é que você pratique. É muito importante.
Tá chegando aí, ó, o primeiro exercício, que é o exercício 46, que pede o seguinte: faça um programa que mostre na tela uma contagem regressiva pros artifício, indo de 10 até zero com uma pausa de 1 segundo entre eles. A gente já utilizou bibliotecas para poder esperar tempo aí, então eu quero que você junte tudo isso dentro desse programa. Então vai aparecer lá 10 9 8 7 esperando um segundo.
6 5 4 3 2 1 bum! Né? Escreve lá fogos estourando.
Mostra um emoji de fogos estourando. Deu para entender como é que funciona o negócio? Então esse primeiro desafio é bem simples, utilizando repetição, contagem regressiva, espera um segundinho entre eles.
Então com certeza você vai conseguir fazer baseado nesses exercícios que a gente já fez durante a aula. É muito importante. Eu vou ficar repetindo várias vezes.
Faça, não copie a resposta. Tenta fazer você mesmo. E se você não conseguir, se enrolar muito, ó, aqui em cima no zinho de interatividade tem a playlist, procura a resolução do exercício 46.
Se ainda não tiver lá na playlist, aguarda que em alguns dias vai sair. Mas importante do que ter o vídeo, de copiar resposta e tudo mais, é você praticar, é você criar o seu exercício. Vamos pro 47, que é cria um programa que mostre na tela todos os números pares que estão no intervalo entre 1 e 50.
Ó, eu não quero todos os números de 1,50, eu quero todos os números que forem pares, beleza? Tenta fazer isso. O 48 é o seguinte.
Faça um programa que calcule a soma. Eu não quero saber quais são. Eu quero a soma de todos os números ímpares que são múltiplos de três e que se encontram entre 1 e 500.
Muito cuidado com isso. Eu quero, não quero somar todos os ímpares. Eu quero só os números ímpares que forem múltiplos de três.
Você fez alguma coisa parecida para saber se o número é par ou ímpar e tal, sabendo se ele era divisível por dois. Agora eu quero saber se ele é divisível por três, se ele é múltiplo de três e que esteja entre 1 e 500. Eu quero ver que valor vai aparecer aí para você.
O número 49 vem aí, ó. Refaça o exercício desafio do nove. O desafio nove que foi lá no início da tabuada, com certeza já tá no A, ó.
Clica aqui em cima no izinho, vê lá o desafio nove. No desafio nove, eu fiz uma tabuada aparecer na tela e agora você já tem base para poder criar essa mesma tabuada de uma maneira muito mais simples, utilizando repetição. Tenta entender qual é o padrão e tenta fazer esse exercício.
Galera, olha só, é muito importante porque no momento do laço é quando o aluno começa a se perder. Então é muito importante que você pratique muito laços de repetição. Então vamos lá.
Então você vai refazer o exercício da tabuada de um número que o usuário escolher, só que agora utilizando o laço for. Tenta aí o número 50, ó. Chegamos a 50 exercícios.
Olha o seguinte. Desenvolva um programa que leia seis números inteiros. Então você vai levar botar lá o for para ler seis números, como eu fiz agora durante essa aula, e mostre a soma apenas daqueles que forem pares.
Se for ímpar, vai desconsiderar. Então vai digitar um valor. Se for par, ele soma.
Se não for par, ele desconsidera. Exercício 50. O 51 é o seguinte: desenvolva um programa que leia o primeiro termo e a razão de uma progressão aritmética.
Então, na aula de matemática lá, mais um exercício de matemática não significa que programação exige muita matemática, significa apenas que eu gosto muito de matemática. E progressão aritmética é uma coisa muito simples. Dá uma olhada, dá uma pesquisada aí na internet para você fazer o 51.
Ele vai ler o primeiro termo e a razão de uma PA e vai mostrar os 10 primeiros termos dessa progressão aritmética. É basicamente você realizar contagens de um número até o outro, pulando de tanto até tanto. Lembra aquele exercício que a gente fez durante essa aula?
Começa no um, vai até o 100, pulando de 10 em 10. Isso é uma PA. Isso é uma PA, onde o primeiro elemento é um e o a razão é 10, certo?
É isso que eu quero, só os primeiros termos dessa progressão. Vem aí o exercício 52, que é o seguinte: faça um programa que leia um número inteiro e diga se ele é ou não um número primo. Apenas lembrando, números primos são aqueles que são divisíveis apenas por um e por ele mesmo.
Todo número é divisível por um e por ele mesmo. Mas o número primo é aquele que é só por um por ele mesmo. Nenhum número no intervalo ele vai ser divisível.
Tenta fazer. Esse programa também é um um exercício clássico da programação. O exercício 53 tá chegando no final, é o seguinte: crie um programa que leia uma frase qualquer e diga se ela é um palíndromo.
Caraca, corambar, o que que é uma um palíndromo? Dá uma olhada aqui, ó. Eh, vou botar alguns exemplos.
Palíndromo. É aquela frase que você pode ler de frente para trás e de trás para frente que vai dar a mesma coisa, desconsiderando os espaços, como eu falei ali. Então, por exemplo, após a sopa, faz o exercício aí, filho.
Lê após a sopa, de trás para frente, desconsiderando os espaços, né? Como se tivesse escrito tudo de uma maneira só. Você no programa vai digitar com espaços e o seu programa vai tirar os espaços entre palavras.
Tenta fazer isso daí. Então, um exemplo, ó, após a sopa, se você ler de trás para frente, é após a sopa. Mesma coisa, a sacada da casa.
Pode ler a sacada da casa de trás para frente. Lê também a torre da derrota. Lê de trás para frente o lobo ama o bolo e lê de trás para frente: "Anotaram a data da maratona".
Tenta fazer isso. O que eu quero é um programa que diga se a palavra, a frase que você digitou é um palíndromo. Isso é, ele pode ser lido de frente para trás ou de trás para frente, sem problema nenhum.
Vamos desconsiderar acentos e vamos desconsiderar espaço. Você vai digitar frases sem acento, mas com espaços. E o seu programa vai ser capaz de tirar esses espaços.
O número 54 é o seguinte: cria um programa que leia o ano de nascimento de sete pessoas. Então ele vai fazer um laço para ler sete anos de nascimento de pessoas. No final, mostre quantas pessoas ainda não atingiram a maioridade e quantas já são maiores.
Eu quero um contador. Eu quero, ó, dessas sete pessoas que você digitou aí, tantos já atingiram a maioridade e tantos ainda não atingiram. Considere a maioridade com 21 anos, beleza?
Chegou aos 21 anos, já é maior de idade. Não chegou ainda, ainda não é maior de idade. Número 55, tá quase no final, faltam só dois.
Faça um programa que leia o peso de cinco pessoas e no final mostre qual foi o maior e o menor pesos lidos. Cara, isso também é bem clássico, é bem tradicional da programação e vai te ajudar para caramba a construir esses programas. E o último desafio dessa aula é o 56.
Desenvolva um programa que leia nome, idade e sexo de quatro pessoas. Então você vai fazer um laço valendo o nome, idade e sexo de quatro pessoas. No final, o programa deve mostrar a média de idade do grupo, né?
Qual é a média de idade dessas quatro pessoas? Qual é o nome do homem mais velho, o nome do homem mais velho e quantas mulheres têm menos de 21 anos? E aí você consegue fazer isso?
Consegue resolver esse desafio 56. Esse é um dos mais difíceis que a gente fez durante essa aula. Você consegue resolver esse e todos os outros desafios?
São 11 desafios dentro da sua aula e eu espero sinceramente, de coração, que você faça todos eles. Faça. Não copie, não pega nos comentários quando a galera colocar resposta.
Faz o seu. Se você tiver dúvida, vai na nossa playlist e assiste os vídeos. E mesmo que você tenha feito, assiste os vídeos lá da playlist, porque às vezes a minha solução é um pouco mais inxuta, é um pouco e foge um pouco daquilo que você pensou.
É bom a gente ver a solução de outros programadores pra gente aprender a programar. Então, nunca se esqueça, assista a aula, assista sim, mas assiste também os exercícios que são muito importantes. Então é isso, pequeno gafanhoto, termina aqui a primeira parte de laços do seu curso de Python.
E aí eu falei que eu tava caprichando, tá vendo como eu caprichei? Nunca se esqueça, curta o canal, se inscreve nele, habilita a cinetinha, mostra pras pessoas, chega lá na sua faculdade, seus amigos que gostam de estão querendo aprender a programar, ou até aquele cara que fal, hum, eu gostaria tanto de criar um aplicativo para celular, criar um jogo o primeiro passo é esse, galera. O primeiro passo é você começar a aprender uma linguagem de programação.
E o Python é uma linguagem de programação muito gostosa de aprender, porque ele é muito simples para poder fazer as coisas. Se você é um cara experiente e já programou em outra linguagem, sabe que o for no Python é bem simples de utilizar, beleza? Então, mostra isso pras pessoas, apresenta o curso em vídeo e nunca se esqueça, ó, se você puder acessar lá, ó, cursovideo.
com/po puder dar um apoio pra gente na campanha que está no ar no momento, a gente é eternamente grato. Pra galera que ajudou lá para que esse curso acontecesse, muito obrigado. E você que não apoiou ou até mesmo você que apoiou e tá gostando pra caramba, vê lá se tem mais alguma campanha no ar e você pode ajudar a manter o curso em vídeo no ar com toda essa qualidade e produzindo conteúdo semanalmente, às vezes diariamente para você.
Então é esse pequeno gafonhoto. Eu me despeço por aqui, aguardo você na 14ª aula, onde a gente vai dar continuidade aos estudos de laço. Um forte abraço e até a próxima.
Não deixa de estudar, hein? Estuda sempre e pratica esse negócio, porque isso é um pouquinho difícil para quem tá começando.