Mostrando entradas con la etiqueta while. Mostrar todas las entradas
Mostrando entradas con la etiqueta while. Mostrar todas las entradas

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".

sábado, 15 de octubre de 2011

Estructuras de Control (1)



Nota 1: A diferencia de otros lenguajes en Python los bloques de código no están delimitados por ningún código de inicialización ni de finalización de bloque.
Por ejemplo en Pascal el begin y el end, en C las llaves {}, etc.
En Python el codigo es sensible a la indentacion, todo lo que este al mismo nivel de indentacion se considera como que pertenece al mismo bloque de código, esto "obliga" de alguna manera a que seamos prolijos a la hora de escribir código y que el código generado sea mas legible.

Nota 2: Para hacer las siguientes pruebas te recomiendo que utilices la consola interactiva de Python que es una de las herramientas que hacen a este lenguaje  realmente especial.. ;)..

Si estas con la consola abierta escribí la palabra python dale un ENTER y veras algo similar a esto:

            Python 2.6 (r26:66721, Oct  2 2008, 11:35:03) [MSC v.1500 32 bit (Intel)] on win32
            Type "help", "copyright", "credits" or "license" for more information.
            >>>

Si no estas en la consola y no tenes ganas de abrir una,
Anda a Inicio à Todos los programas à Python 2.6 à Python (command line), se te va a abrir una consola similar a la de Windows pero que esta lista para aceptar código Python.. :P..
Es una consola que sirve para ejecutar código interactivamente lo cual es de muchísima ayuda cuando queremos testear algún código.

Si no queres utilizar la consola interactiva, crea un archivo .py y escribí el código de ejemplo de cada estructura y ejecútalo como lo mostramos mas arriba. 

Estructura de control - IF

En Python existe una estructura de control condicional como en la mayoría de los lenguajes de programación. Básicamente el "if" lo que hace es ejecutar una u otra porción de código de acuerdo a si la condición se cumple o no se cumple.

El formato basico del "if" es:

            if(<expresion>):
                        print "expresion = True"

El "if" puede o no venir acompañado por un "else".
Observar que luego del paréntesis cerrado del “if” hay dos puntos!!!!

            if(<expresion>):
                        print "expresion = True"
            else:
                        print "expresion = False"

NOTA: En Python los valores Booleanos posibles son True (Verdadero) o False (Falso). Recordar que Python es sensible a minusculas y mayusculas por lo cual True <> true. Algo que es bueno decir es que una expresión no tiene que tener si o si un valor Booleano, cualquier valor diferente de 0 (cero) se considera como True, y el 0 (cero) representa False.

>>> valor = 10
>>> if(valor<10):
...     print "valor Menor a 10"
... else:
...     print "valor Mayor o igual a 10"
...
valor Mayor o igual a 10