Escolha entre os ciclos for e while

Concluído

Observação

Consulte a guia Texto e imagens para obter mais detalhes!

Os programas tornam-se mais úteis quando conseguem automatizar tarefas repetitivas. Em vez de escrever o mesmo código vezes sem conta, pode usar um loop para repetir automaticamente um bloco de código.

Python tem dois tipos de ciclos: for ciclos e while ciclos. Escolher o certo depende de saber quantas vezes repetir antecipadamente.

O ciclo for (número conhecido de repetições)

Usa um for ciclo quando quiseres repetir uma ação um número conhecido de vezes, ou quando quiseres passar por cada item de uma coleção.

Iteração com range()

A função integrada range() gera uma sequência de números sobre a qual iterar:

for i in range(5):
    print(i)

Saída:

0
1
2
3
4

Note que range(5) produz os números de 0 a 4. O ciclo repete-se 5 vezes, e a variável i assume cada valor da sequência. A range() função começa em 0 por defeito e termina antes do número que especificas (5 neste caso).

Pode personalizar a sequência fornecendo até três definições: range(start, stop, step). O ciclo irá parar antes de atingir o objetivo de paragem:

for number in range(1, 10, 2):  # Start at 1, stop before 10, step by 2
    print(number)

Saída:

1
3
5
7
9

O ciclo while

Usa um while loop quando quiseres repetir algo , desde que uma condição se mantenha verdadeira. Podes usar isto quando não souberes quantas vezes terás de repetir a ação antecipadamente.

health = 3

while health > 0:
    print(f"Player is alive. Health: {health}")
    health -= 1  # Modify the condition so the loop will eventually stop

Saída:

Player is alive. Health: 3
Player is alive. Health: 2
Player is alive. Health: 1

Evite ciclos infinitos

Um while ciclo verifica a sua condição antes de cada iteração. Se a condição for sempre True, o ciclo nunca parará. Este comportamento chama-se loop infinito e vai congelar o seu programa.

Garanta sempre que o seu código atualiza a condição para que eventualmente se torne False. No exemplo acima, subtraímos 1 de health em cada iteração do ciclo. Quando health atingido 0, a condição tornou-se False, e o loop terminou.

Escolher o ciclo certo

Escolha um for ciclo quando:

  • Sabes quantas vezes queres repetir a ação.
  • Queres uma saída automática após um certo número de repetições.
  • Queres uma variável contadora para registar quantas vezes o ciclo já foi executado.

Escolha um while ciclo quando:

  • O número total de repetições depende de um estado variável.
  • Estás à espera que algo específico aconteça antes de parar o ciclo (por exemplo, a entrada do utilizador).
  • Precisas de controlo sobre quando o loop termina, em vez de um número fixo de repetições.