As estruturas de controlo são componentes fundamentais de qualquer linguagem de programação. Em Python, tal como noutras linguagens, estas estruturas permitem que o programa tome decisões (condicionais) e repita uma série de operações (ciclos). Vamos explorar estas estruturas em detalhe.
Condicionais
As condicionais permitem que o programa execute diferentes blocos de código com base em condições específicas. Em Python, utilizamos as instruções if
, elif
, e else
.
Exemplo 1: if
, elif
e else
idade = 18
if idade < 18:
print("Ainda és menor de idade.")
elif 18 <= idade < 65:
print("És adulto.")
else:
print("És sénior.")
Neste exemplo, se a variável idade
for menor que 18, o programa imprime "Ainda és menor de idade.". Se a idade estiver entre 18 e 64 anos, imprime "És adulto.". Caso contrário, imprime "És sénior.".
Ciclos
Os ciclos permitem repetir a execução de uma série de instruções múltiplas vezes. Em Python, os dois tipos principais de ciclos são for
e while
.
Ciclo for
Um ciclo for
é ideal para iterar sobre uma sequência (como uma lista, uma tupla, ou uma string).
Exemplo 2: Ciclo for
for numero in range(1, 6):
print(f"Número: {numero}")
Este código vai imprimir os números de 1 a 5. A função range(1, 6)
gera uma sequência de números de 1 a 5 (o 6 não está incluído).
Ciclo while
Um ciclo while
repete as instruções enquanto uma condição for verdadeira.
Exemplo 3: Ciclo while
contador = 1
while contador <= 5:
print(f"Contador: {contador}")
contador += 1
Neste caso, o ciclo while
irá repetir até que a variável contador
seja maior que 5.
Combinando Condicionais e Ciclos
Frequentemente, usamos condicionais dentro de ciclos para tomar decisões durante o processo de iteração.
Exemplo 4: Condicional dentro do ciclo for
numeros = [1, 2, 3, 4, 5]
for numero in numeros:
if numero % 2 == 0:
print(f"{numero} é par.")
else:
print(f"{numero} é ímpar.")
Este programa percorre uma lista de números e verifica se cada número é par ou ímpar, imprimindo a mensagem correspondente.
Exercício Prático
Vamos aplicar o que aprendemos para resolver um problema típico. Suponha que precisamos de um programa que verifique uma lista de idades e classifique cada idade como "menor de idade", "adulto", ou "sénior".
Solução:
idades = [12, 17, 24, 38, 45, 67, 89]
for idade in idades:
if idade < 18:
print(f"Idade {idade}: Menor de idade")
elif 18 <= idade < 65:
print(f"Idade {idade}: Adulto")
else:
print(f"Idade {idade}: Sénior")
Este código percorre a lista idades
e utiliza condicionais para classificar cada idade, imprimindo a classificação correspondente.
Resumo
Nesta secção, aprendemos sobre estruturas de controlo em Python, especificamente sobre condicionais (if
, elif
e else
) e ciclos (for
e while
). Estas estruturas permitem-nos controlar o fluxo de um programa, tomar decisões com base em condições específicas e repetir operações conforme necessário.
Questionário
-
O que faz a instrução
if
em Python?- A. Repetir um bloco de código múltiplas vezes
- B. Tomar decisões com base em condições
- C. Declarar uma função
- D. Importar um módulo
-
Qual é a saída do seguinte código?
x = 10 if x > 5: print("Maior que 5") else: print("Menor ou igual a 5")
-
Como se termina normalmente um ciclo
while
?- A. Usando a instrução
break
- B. Usando a instrução
return
- C. Quando a condição se torna falsa
- D. Quando a lista é esgotada
- A. Usando a instrução
-
O que acontece se não atualizarmos a condição num ciclo
while
? -
Complete o código para verificar se um número numa lista é positivo, negativo ou zero:
numeros = [-1, 0, 1, -2, 2] for numero in numeros: if ____: print(f"{numero} é positivo") elif ____: print(f"{numero} é negativo") else: print(f"{numero} é zero")
As respostas a estas questões ajudarão a consolidar os conceitos ensinados sobre estruturas de controlo. Boa sorte!