Ciclos

Agora que já dominamos os tipos de dados e as instruções de decisão, vamos explorar os ciclos, ou laços (loops), em Python. Os ciclos permitem-nos repetir um bloco de código várias vezes, o que é extremamente útil em muitas situações.

Ciclo while

O ciclo while executa repetidamente um bloco de código enquanto uma condição especificada for verdadeira.

# Exemplo de ciclo while
contador = 0
while contador < 5:
    print("Contador é:", contador)
    contador += 1

No exemplo acima, o ciclo while continua a executar enquanto a variável contador for menor que 5. A cada iteração, contador é incrementado em 1. Resultado do código:

Contador é: 0
Contador é: 1
Contador é: 2
Contador é: 3
Contador é: 4

Imagine que estamos a criar um programa simples que pergunta a idade do utilizador até que ele insira um valor válido.

idade = int(input("Insira a sua idade: "))
while idade <= 0 or idade > 120:
    print("Idade inválida. Por favor, insira novamente.")
    idade = int(input("Insira a sua idade: "))
print("A sua idade é:", idade)

Ciclo for

O ciclo for é ideal para iterar sobre uma sequência (como uma lista, uma tupla ou um intervalo de números).

# Exemplo de ciclo for
nomes = ["Ana", "Bruno", "Clara"]
for nome in nomes:
    print("Nome:", nome)

Neste exemplo, o ciclo for percorre cada elemento da lista nomes e imprime-o. Resultado do código:

Nome: Ana
Nome: Bruno
Nome: Clara

Suponha que queremos calcular a soma dos números de 1 a 10. Podemos fazer isso facilmente com um ciclo for:

soma = 0
for i in range(1, 11):
    soma += i
print("A soma dos números de 1 a 10 é:", soma)

A função range(1, 11) gera uma sequência de números de 1 a 10 (o 11 não está incluído).

Comandos break e continue

Os comandos break e continue ajudam-nos a controlar o fluxo dos ciclos de forma mais precisa.

  • break termina o ciclo prematuramente.
  • continue salta a iteração atual e volta ao início do ciclo.

Exemplo Prático com break

Podemos usar break para sair de um ciclo quando uma condição especial for encontrada:

for numero in range(1, 11):
    if numero == 5:
        break
    print(numero)

Resultado do código:

1
2
3
4

Neste caso, quando numero é igual a 5, o ciclo termina.

Podemos usar continue para ignorar uma iteração específica:

for numero in range(1, 6):
    if numero == 3:
        continue
    print(numero)

Resultado do código:

1
2
4
5

O número 3 é ignorado e o ciclo continua com os restantes números.


Resumo

Neste capítulo, aprendemos sobre os ciclos while e for em Python. Vimos como repetir blocos de código usando ciclos e como controlar o fluxo dos ciclos com os comandos break e continue. Explorámos aplicações práticas dessas estruturas, facilitando a compreensão dos conceitos.

Quiz

  1. O que faz o ciclo while em Python?

    • a) Repetir um bloco de código um número específico de vezes.
    • b) Repetir um bloco de código enquanto uma condição for verdadeira.
    • c) Iterar sobre uma sequência.
    • d) Nenhuma das opções anteriores.
  2. O que acontece quando a condição de um ciclo while é sempre verdadeira?

    • a) O ciclo nunca é executado.
    • b) O ciclo é executado uma vez.
    • c) O ciclo entra num laço infinito.
    • d) A condição é ignorada.
  3. Qual é a função do comando break num ciclo?

    • a) Reiniciar a iteração do ciclo.
    • b) Saltar a iteração atual e continuar para a próxima.
    • c) Terminar o ciclo prematuramente.
    • d) Transformar o ciclo num for loop.
  4. O que faz o comando continue num ciclo for?

    • a) Termina o ciclo.
    • b) Salta a iteração atual e volta ao início do ciclo.
    • c) Imprime todos os elementos da sequência.
    • d) Inverte a sequência.
  5. Como se chama a estrutura que itera sobre uma sequência em Python?

    • a) Ciclo while
    • b) Estrutura repeat
    • c) Ciclo for
    • d) Comando next
<< Instruções de decisão Índice Funções >>