Enviar um café pro programador

Laços e Loopings - O que são? Para que servem ?

Antes de entrarmos em detalhes sobre um dos assuntos mais importantes de nosso Curso de Python, que são os laços (também conhecido por loopings) while e for, vamos tentar entender a motivação por trás deles.

Em vez de vir e jogar definições e instruções na sua cara, vou fazer entender que alguma coisa deve ser feita/estudada para que nossos conhecimentos possam fazer programas poderosos, grandes e interessantes.


Repetindo estruturas e códigos

"O professor Bruce Dickinson vai dar aula em uma faculdade, é o novo professor e ele precisa que você crie um programa que calcula a média de todos os alunos e diga a média da turma. O professor Bruce tem várias turmas, dos mais variados tamanhos. Resolva esse problema."

"Ah, moleza. Só pedir as notas de cada aluno, somar e calcular pelo tanto de alunos na turma. Até já fizemos exercício disso, Python Progressivo, esqueceu?"

Ok, vamos lá.
Vamos supor que nossa turma tenha 2 alunos.
Nosso código é

media2.py:
nota1 = float(input("Nota 1:"))
nota2 = float(input("Nota 2:"))

media = (nota1+nota2)/2

print("A media é: ", media)


Já se tiver 3 alunos, será
media3.py
nota1 = float(input("Nota 1:"))
nota2 = float(input("Nota 2:"))
nota3 = float(input("Nota 3:"))

media = (nota1+nota2+nota3)/3

print("A media é: ", media)


Se a turma tiver 50 alunos, nosso script é...
(imagine aqui um código gigante, que pede 50 notas, vá somando todas e divida tudo por 50).

Prontinho, você manda vários e vários scripts para o professor, para ele usar cada um de acordo com o número de alunos de cada turma.

Ok? Parece fazer sentido, ficou bacana?


Programação é simplificação

NÃO!!! Caramba, que ideia bizarra!

Para cada turma, usar um script diferente? Ia ter o que, uma pasta com 50 programas?

Quando quer usar duas células no Excel, você abre uma planilha.
Para usar três células, você vai abrir outra planilha? Claro que não!
Pode usar uma ou um milhão de células, pode usar a mesma planilha, o Excel não vai te fazer usar milhares de programas diferentes para trabalhar.

O mesmo vale para nosso script.
E se você for contratado para fazer o censo, vai fazer um script com 1 milhão de linhas, pedindo 1 milhão de informação diferente, de cada pessoa...vai usar milhões de variáveis num programa só?

Claro que não! Isso é impossível de se fazer manualmente!

A gente programa pra resolver problemas que seriam difíceis de se fazer na mão. A gente programa pra deixar a vida mais fácil.

E não tenha dúvidas,se estudar pelo Python Progressivo, vai fazer muitos e muitos programas úteis, uma nova rede social, um novo Google, um novo Youtube...

Progamar é encontrar padrões

O grande segredo da programação é na sua capacidade de notar padrões.
Identificar padrões é o ideal.

Vamos identificar em nosso exemplo?
Primeiro, devemos saber o número de alunos da turma.
E quem sabe isso? O Bruce. Então nosso programa vai pedir a ele esse valor x de alunos.

Em seguida, o que fazemos?
Para cada aluno, do primeiro até o de número x, vamos pedir um valor e armazenar em uma variável diferente.

Ao final de tudo, nosso script vai somar da primeira variável até a variável que contém o valor da nota do aluno de número x.

Depois simplesmente divide tudo por x. Essa é a média.

Veja o padrão: o x pode ser 1, 2, 3, 4, ..., 2112, ...1 milhão
Tanto faz. A ideia é sempre essa, sempre o mesmo roteiro (script em inglês).


Laços e Loopings em Python

Um laço, ou um looping, é algo que se repete.
Vamos estudar os laços while e for, e chamamos ele de estruturas de repetição.

No nosso exemplo, uma coisa se repete: ficar pedindo as notas.
Vamos fazer com que nossos programas fiquem presos em determinados loopings, fazendo coisas repetidas (como pedir nota), até onde desejarmos (no caso, deve se repetir x vezes).

Para nós, pedir 1 milhão de dados, usando 1 milhão de linhas de comando, é algo impossível de se fazer na mão.

Mas para os computadores não. Fazem isso em milésimos de segundos.

E o que um programador Python faz?
Manda no computador. Faz ele te obedecer. Cria programas Python que fazem de um computador seu escravo.

Assim, com poucas linhas, você vai programar scripts que fazem milhões de coisas, bilhões...quantas vezes você quiser e mandar.

Você tá ficando foda pra caramba.
Sinta o poder. É você saindo da Matrix e aprendendo a criar sua própria Matrix.

6 comentários:

  1. Caramba suas explicações são as melhores hahaha dou risada demais!! Estou adorando aprender por aqui! Muito obrigada pelo apoio!

    ResponderExcluir
  2. Mano, você manda bem de mais no ensino. E disponibiliza seus conhecimentos de graça; E ainda gosta do bom rock in roll; E demonstra ser fã do Rush, uma das minhas bandas preferidas (dá-lhe Neil Peart!) E... Cara, não poderia achar melhor lugar para aprender. Obrigado!

    ResponderExcluir
  3. Se tem um item em programação, seja a linguagem que estudei é este tal de looping.
    Espero poder aprender definitivamente por aqui.
    Realmente, como dito nos comentários anteriores...
    Vc é FODA pra explicar!

    ResponderExcluir
  4. Caramba vei! Vc é muito bom para explicar as paradas da programação! Para bens!

    ResponderExcluir
  5. Realmente, muito bem explicado!!! um muitos tutoriais a pessoa acaba decorando sem saber realmente o sentido, onde e quando usar!!!

    ResponderExcluir