sábado, 22 de outubro de 2011

Mais Estruturas de Controle através de exemplos

Como estruturas de controle são praticamente parecidas nas linguagens, abaixo encontram-se exemplos e pequenas observações sobre o assunto:

1 - If:
>>> x = int(raw_input("Please enter an integer: "))
Please enter an integer: 42
>>> if x < 0:
...      x = 0
...      print 'Negative changed to zero'
... elif x == 0:
...      print 'Zero'
... elif x == 1:
...      print 'Single'
... else:
...      print 'More'
...
More
2 - For:
>>> a = ['cat', 'window', 'defenestrate']
>>> for x in a:
...     print x, len(x)
Abaixo, um exemplo que altera a lista enquanto ocorre o loop:
>>> a = ['cat', 'window', 'defenestrate'] 
...for x in a[:]: # utilizando uma cópia da lista
...    if len(x) > 6: a.insert(0, x)
...
>>> a
['defenestrate', 'cat', 'window', 'defenestrate']
3 - Função Range:

Itera sobre uma sequência de números.
>>> range(5, 10)
[5, 6, 7, 8, 9]
>>> range(0, 10, 3) # entre 0 e 10, de 3 em 3
[0, 3, 6, 9]
>>> range(-10, -100, -30) # entre -10 e -100, de -30 em -30
[-10, -40, -70]
Utilizando a função em um for:
>>> a = ['Mary', 'had', 'a', 'little', 'lamb']
>>> for i in range(len(a)):
...     print i, a[i]
4 - Break e Else:
>>> for n in range(2, 10):
...     for x in range(2, n):
...         if n % x == 0:
...             print n, 'equals', x, '*', n/x
...             break
...     else:
...         print n, 'is a prime number'
.
5 - Continue:
>>> for n in range(2, 10):
...     for x in range(2, n):
...         if n % x == 0:
...             continue'
.
6 - Pass:
>>> while True:
...     pass  # aguarda por interrupção  (Ctrl+C)
...
>>> class MyEmptyClass:
...     pass
No próximo post, falaremos sobre funções em Python.

Até lá.