miércoles, 18 de enero de 2012

FOR y WHILE (ESTRUCTURAS DE REPETICION) (1)

En Python existen 2 estucturas de repeticion:

El "for" que normalmente se usa para recorrer objetos que esten preparados para iterar uno a uno por sus elementos.
Y el "while" que analiza una expresion y mientras el valor de verdad de la misma sea True o equivalente, se ejecuta el bloque de codigo.

Ejemplo FOR:

>>> lista = [1,2,3,4]
>>> for item in lista:
...     print item
...
1
2
3
4

Como puede observarse el "for" va tomando uno a uno los elementos de la lista y los va poniendo en la variable item, la cual mostramos con el print. Es por esta razon que se muestra los valores 1, 2, 3, 4.
Como se dijo previamente es necesario que la variable sobre la cual se va a realizar el for sea iterable, sino tirara el siguiente error.

>>> numero = 5
>>> for cont in numero:
...     print cont
...

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable

Para que el "for" repita un bloque de codigo un numero especifico de veces, lo que hay que hacer es utilizar la funcion "range(numero)", que es una funcion que recibe un valor entero y devuelve una lista con enteros desde 0 (cero) hasta (numero-1).

Para ver esto podemos ejecutar en la consola interactiva de python la funcion "range(numero)"

>>> numero = 5
>>> range(numero)
[0, 1, 2, 3, 4]

Para ejecutar el bloque de código que se encuentra dentro del "for" 5 veces lo que se hace es lo siguiente:

>>> numero = 5
>>> for i in range(numero):
...     print "For " + str(i+1) + " ejecutado."
...
For 1 ejecutado.
For 2 ejecutado.
For 3 ejecutado.
For 4 ejecutado.
For 5 ejecutado.

NOTA 1: Para concatenar dos cadenas en Python, se utilizar el simbolo matematico "+". Si quieren ver esto prueben en la consola interactiva de Python ejecutar lo siguiente:

>>> a = 'd'
>>> b = 'e'
>>> c = a+b
>>> c
'de'

En este ejemplo se le asigna la letra 'd' a la variable "a" y la letra 'e' a la variable "b". Luego a  la variable "c" se le asigna a+b lo cual genera la cadena resultante de la concatenación de 'd' y 'e'.
Algo interesante que se puede hacer solo para probar es lo siguiente:

>>> a = 'd'
>>> c = a*4
>>> c
'dddd'

NOTA 2: Para castear cualquier objeto a cadena se utiliza la función str(objeto).
Cualquier objeto puede convertirse a cadena. Internamente cada uno sabe como mostrarse.


>>> lista = [1,2,3,4,5,6]
>>> cadena = str(lista)
>>> cadena
'[1, 2, 3, 4, 5, 6]'

Prestar atención que no es lo mismo [1,2,3,4,5,6] que '[1,2,3,4,5,6]'. Uno es una lista y el otro es una cadena.

Si hacemos lista[0] nos devolverá el valor 1 y si hacemos cadena[0] nos devolvera el valor '['

>>> lista[0]
1
>>> cadena[0]
'['

Ejemplo WHILE:

La estructura de repetición WHILE analiza una expresión y mientras esta sea verdadera se va a ejecutar el bloque de código que tenga contenido dentro.

>>> cont = 0
>>> while (cont<3):
...     cont = cont + 1
...     print cont
...
1
2
3

Esto podría leerse como "mientras cont sea menor que 3 mostrar cont".

No hay comentarios:

Publicar un comentario