Trechos extraídos de “Apprendre à programmer avec Python” de Gérard Swinnen, disponível sob os termos da Licença CC BY-NC-SA 2.0.

Controle do fluxo de execução

Execução Condicional

Se quisermos ser capazes de escrever aplicativos realmente úteis, precisamos de técnicas para guiar o programa em diferentes direções, dependendo das circunstâncias. Para fazer isso, precisamos ter instruções que possam testar uma determinada condição e poder alterar o comportamento do programa de acordo com a resposta. A mais simples dessas instruções condicionais é a instrução if. Para experimentar como funciona, insira as duas linhas seguintes no seu editor Python:

>>> a = 150
>>> if (a > 100):
...

O primeiro comando atribui o valor 150 à variável a. Quando você termina de entrar na segunda linha, no entanto, você descobre que o Python reage de uma nova maneira. De fato, e a menos que você tenha esquecido o caractere “:” no final da linha, você verá que o prompt principal (»>) foi substituído por um prompt secundário que consiste em três pontos. Se o seu interpretador não fizer isso automaticamente, você deve agora tabular (ou inserir 4 espaços) antes de inserir a linha seguinte de modo que esteja identada em relação à linha anterior. Sua tela agora deve ficar assim:

>>> a = 150
>>> if (a> 100):
...     print ("maior que cem")
...

Clique novamente em . O programa é executado e você obtém:

maior que cem

Repita o mesmo exercício, mas com a = 20 como a primeira linha: desta vez o Python não exibe nada.

A expressão que você coloca entre parênteses depois é o que vamos chamar agora de condição. A instrução if testa a validade dessa condição. Se a condição for verdadeira, a instrução que indentamos após o : é executada. Se a condição é falsa, nada acontece. Note que os parênteses usados aqui com a instrução if são opcionais: nós os usamos para melhorar a legibilidade. Em outros idiomas, eles podem ser necessários.

Repita novamente, adicionando duas linhas conforme mostrado abaixo. Certifique-se de que a quarta linha começa completamente à esquerda (sem indentação), mas a quinta linha esteja recuada novamente (preferivelmente com o mesmo recuo que a terceira linha):

>>> a = 20
>>> if (a > 100):
...     print("maior que cem")
... else:
...     print("menor que cem")
...

Pressione novamente. O programa é executado e exibe desta vez:

menor que cem

Operadores de comparação

Operadores de Comparação A condição avaliada após a instrução if pode conter os seguintes operadores de comparação:

x == y # x é igual a y
x != y # x é diferente de y
x > y # x é maior que y
x < y # x é menor que y
x >= y # x é maior ou igual a y
x <= y # x é menor ou igual a y

Exemplo

>>> a = 7
>>> if (a % 2 == 0):
...     print ("a é par")
...     print ("porque o resto da sua divisão por 2 é zero")
... else:
...     print ("a é ímpar")
...

Observe que o operador de comparação para a igualdade de dois valores consiste em dois sinais de igual e não um único. O sinal “igual” usado sozinho é um operador de atribuição, não um operador de comparação. Você encontrará o mesmo simbolismo em C++ e Java.

Instruções compostas – blocos de instruções

A construção que você usou com a instrução if é seu primeiro exemplo de uma instrução composta. Você logo conhecerá os outros. Em Python, as instruções compostas sempre têm a mesma estrutura: uma linha de cabeçalho terminando em dois pontos, seguida por uma ou mais instruções identadas abaixo dessa linha de cabeçalho. exemplo:

Linha de cabeçalho:
    primeira instrução do bloco
    ... ...
    ... ...
    última instrução do bloco

Se houverem várias instruções recuadas abaixo da linha de cabeçalho, elas devem estar exatamente no mesmo nível de identação (por exemplo, com o mesmo deslocamento de 4 caracteres). Essas instruções identadas são o que agora chamaremos de um bloco de instruções ou escopo. Um bloco de instrução ou escopo é uma seqüência de instruções que formam um set lógico que é executado somente sob certas condições definidas na linha de cabeçalho. No exemplo do parágrafo anterior, as duas linhas de instrução recuadas sob a linha contendo a instrução if formam o mesmo bloco lógico: ambas as linhas são executadas - ambas - somente se a condição testada com a instrução if acaba por ser verdade, isto é, se o resto da divisão de a por 2 é zero.

Instruções repetitivas

Repetições em loop - A instrução while

Na programação, chamamos de loop um sistema de instruções que permite repetir um número de vezes (ou mesmo indefinidamente) uma série de operações. O Python oferece duas instruções especiais para construir loops: o for … in … instruction, muito poderoso, que estudaremos no capítulo 10, e a declaração while que descobriremos imediatamente. Por favor, insira os comandos abaixo:

>>> a = 0
>>> while (a <7): # (não esqueça dos dois pontos!)
...     a = a + 1 # (não esqueça da identação!)
...     print (a)

Pressione novamente. O que está acontecendo?

Antes de ler os comentários na próxima página, reserve um tempo para abrir seu bloco de anotações e anote esta série de comandos. Descreva o resultado também e tente explicá-lo com o máximo de detalhes possível.

Primeiros scripts e como salvar seus programas

Para maior conveniência na criação e execução de sus programas, utilize um editor de texto, como o gedit para criar o seu script e salvar com extensão .py. Para executar o seu programa, utilize na linha de comando o seguinte:

 $ python3 meuprograma.py

Exemplo

  1. Mudar o diretório atual para o local com seus arquivos salvos:
     $ cd metodos_computacionais
    

    2.Verificar o conteúdo do diretório:

    $ ls
    meuprograma.py
    
  2. Executar o programa utilizando o interpretador python3
     $ python3 meuprograma.py
    

    Dicas

    • Nos computadores do LIEF (e na maioria dos sistemas utilizados para as atividades ERE) está disponível o editor gedit que apresenta funcionalidade de destaque da sintaxe para extensões .py. (Podem haver outros tais como geany, atom , emacs);
    • para sair do interpretador python, utilize o Ctrl+d;
    • Evite utilizar diretórios (pastas) e arquivos cujos nomes contenham o caractere espaço (“ “).