Olá de novo. É altura de voltarmos aos ciclos, seja através de
for, seja através de outro tipo de ciclos que vamos já ver. Já mencionei que se usa muito o comando
for com a função
range(). Vamos ver um programa de exemplo em que apresentamos o comando
continue:
for i in range(10):
if i%2 == 0:
print(i,'é par!')
continue
print(i,'é impar!') |
Se tiver experimentado executar este pequeno programa, verá que o resultado é:
0 é par!
1 é impar!
2 é par!
3 é impar!
4 é par!
5 é impar!
6 é par!
7 é impar!
8 é par!
9 é impar! |
O que é relevante aqui é que, sempre que se chega a um comando
continue dentro de um ciclo
for, o ciclo é interrompido e passa automaticamente para a iteração seguinte, ignorando os comandos abaixo de
continue. Vamos ver agora o que faz o comando
break:
for i in range(10):
if i > 4:
print('Estou farto de números!')
break
print(i) |
Isto vai resultar em:
0
1
2
3
4
Estou farto de números! |
Podemos ver que o comando
break dentro de um ciclo
for vai fazer com que se salte para fora do ciclo. Ainda há mais um comando que podemos incluir:
lim = int(input('Dá-me um número: '))
for i in range(10):
if i > lim:
print('Estou farto de números!')
break
print(i)
else:
print('Chegámos mesmo ao fim!') |
Este programa vai pedir um número, e se esse número for menor que 9, vai "fartar-se de números", caso contrário vai "chegar mesmo ao fim". Isto é, o
else no final do ciclo
for só é executado se as iterações do ciclo chegarem ao fim. Curioso, não é?
Mas vale a pena mencionar que existe um outro tipo de ciclo, o que usa o comando
while. Neste tipo de ciclos, enquanto a condição em frente a
while for verdadeira, o ciclo repete-se infinitamente (o que pode ser verdadeiramente perigoso!):
r = ''
while r != 'por favor':
r = input('Pede para sair com modos... ')
if r=='':
continue
elif r=='deixa-me!':
print('Vá, não te irrites!...')
break
else:
print('Muito bem educado!') |
Ora aqui está um programa que serve para mostrar que todos os comandos acima também se aplicam aos ciclos
while. Se experimentar este programa, vai ver que só consegue sair se escrever uma de duas frases: 'por favor' ou 'deixa-me!'. Se não escrever nada, ele usa o
continue e pede logo para escrever de novo. Se escrever 'deixa-me!' consegue sair pelo
break, e se escrever 'por favor', sai do ciclo através do
else. Simples, não é? Mas repito, cuidado com ciclos infinitos!
Sem comentários:
Enviar um comentário