Subsecções

2.5.3 Laço condicional: while

O segundo tipo de laço, while, é utilizado quando necessitamos fazer um teste a cada iteração do laço.

    while condição:
        # bloco de código
    else:
        # bloco executado na ausência de um break

Como o laço for, o while possui uma cláusula else. Um exemplo do uso de while segue:

    >>> m = 3 * 19
    >>> n = 5 * 13
    >>> contador = 0
    >>> while m < n:
    ...   m = n / 0.5
    ...   n = m / 0.5
    ...   contador = contador + 1
    ...
    >>> print "Iteramos %d vezes." % contador
    Iteramos 510 vezes.

Não há uma instrução especial para efetuar um laço com teste ao final da iteração (como o laço do ... while() em C), mas pode-se usar um while infinito -- usando uma condição verdadeira, fixa -- em combinação com um teste e break internos:

    >>> l = ["a", "b", "c"]
    >>> i = len(l) - 1
    >>> while True:
    ...   print l[i]
    ...   i = i - 1
    ...   if i < 0:
    ...     break
    ...
    c
    b
    a

2.5.3.1 Veracidade e falsidade de condições

As estruturas if e while utilizam condições lógicas para controle, avaliando-as de maneira booleana. Como qualquer valor ou expressão pode ser usado como condição, é importante entender qual o mecanismo de avaliação da linguagem.

Em Python, falso é denotado:

Qualquer outro valor simples é considerado verdadeiro. Instâncias podem definir regras mais complexas para avaliação; para detalhes consulte a seção Basic customization do manual de referência Python.