Underc0de

Programación Scripting => Python => Mensaje iniciado por: Sajuuk en Mayo 15, 2015, 02:50:51 AM

Título: Bucles en Python
Publicado por: Sajuuk en Mayo 15, 2015, 02:50:51 AM
Bucles
(http://i62.tinypic.com/fp8ikk.jpg)



Existirán ocasiones en las que queremos mantener un proceso de interacción con el usuario, o simplemente busquemos imprimir ciertas instrucciones una cantidad n de veces.
Para esto, Python nos proporciona 2 opciones: While loop, y For loop.

Estas estructuras cíclicas nos permiten ejecutar un mismo código, de manera repetida, mientras se cumpla una condición.

Es importante (si no es que fundamental) que sepas los operadores de condición, ya que con ellos creamos algoritmos y comparaciónes.
Si no los sabes, aquí están:

Código (python) [Seleccionar]
x != y     # x no es igual a y
x > y      # x es mayor que y
x < y      # x es menor que y
x >= y     # x es mayor o igual que y
x <= y     # x es menor o igual que y





While Loops
(http://i60.tinypic.com/2vxg0zr.jpg)



La condicional While ejecuta una instrucción mientras algo sea verdadero (o falso). Podemos imprimir desde 5 veces, hasta el infinito y más alla...!

Sintaxis:
Código (python) [Seleccionar]

while expresión:
   instrucción(es)


El código de arriba funciona así:
Mientras algo sea verdadero ejecutar:
        Instrucción (o instrucciónes)

Ejemplo de uso:
Código (python) [Seleccionar]

variable = int(input("Numero: "))

while variable <= 100:
print(variable)


(http://i58.tinypic.com/2ed6u8k.png)

Como vemos, el numero ingresado se imprimirá infinitamente, ya que no cambiará nunca su valor, y no será más grande o igual a 100.
Para corregir esto, agregamos la siguiente linea de código:
Código (python) [Seleccionar]

variable = int(input("Numero: "))

while variable <= 100:
print(variable)
variable += 1    # Cada vez que se imprima la variable, se le sumará 1 a ella.


(http://i60.tinypic.com/2a0vhh.png)

Explicación:
La variable "variable" nos pide que ingresemos un número entero.
Entonces, ejecutamos una condicional:
Código (python) [Seleccionar]
while variable <= 100:

Quiere decir:
Mientras la variable sea menor o igual a 100...
Esto quiere decir, que se ejecutará la instrucción hasta que la variable alcance un valor igual o mayor a 100.
Código (python) [Seleccionar]
variable += 1
Y lo que hace esta linea, es sumarle 1 a nuestra variable. También se puede representar así:
Código (python) [Seleccionar]
variable = variable + 1
Simplemente le agregaremos a nuestra variable un 1.

También podemos usar valores booleanos (True o False) en while:
Código (python) [Seleccionar]

while True:
print("Underc0de")


Lo anterior imprimiría la cadena "Underc0de" el suficiente tiempo para que puedas verlo a la edad de los 80 años. Osease, siempre se imprimirá la cadena, a menos de que algo la interrumpa (como un KeyboardInterrupt, o cerrar la consola)




For loop
(http://i59.tinypic.com/2vkxqhf.jpg)




For nos permite recorrer cada elemento de una variable, cadena, o conjunto de datos.

Ejemplo:
Código (python) [Seleccionar]

mi_lista = ["Pablo", "Antonio", "Juan", "Mauricio"]
for nombre in mi_lista:
    print(nombre)


Lo anterior quiere decir: Recorre cada cosa que esté en la lista de arriba, e imprimela.
Cada valor en la lista se le asignará a la variable nombre, la cual se imprime.

También podemos "emular" while desde un for, usando la instrucción range():
(http://i58.tinypic.com/33uafro.png)


Otro ejemplo:
Tenemos 2 listas, ambas con 3 nombres. Pero yo quiero unir todos los nombres en la primera lista, ¿cómo puedo yo hacerlo? Fácil:
Código (python) [Seleccionar]

lista1 = ["Pedro", "Pablo", "Jorge"]
lista2 = ["Luis", "Carlos", "Julio"]

for nombre in lista2:
lista1.append(nombre)

print(lista1)


(http://i59.tinypic.com/i2vr84.png)

El bucle for recorre cada elemento de la segunda lista, guardando ese elemento en la variable nombre, y después, agregarlo a la primera lista con la instrucción append()





Saludos!