Programado repeticiones¶
Hay muchas situaciones en la vida que debemos hacer algo repetidas veces, como por ejemplo, ir checando una lista de papeles uno por uno, uno tras de otro hasta finalizar, una tarea aburrida y tediosa, nos cambiaría mucho la vida si eso se pudiese hacer de forma automática.
¿Qué aprenderé?¶
- Conocer que son las repeticiones.
- Saber cuándo debemos usar una repetición.
- Crear una lista de elementos.
- Hacer un pequeño programa con repeticiones.
¿Qué es una repetición?¶
Una repetición en programación es cuando algo debe realizarse repetidas veces, como por ejemplo, tomar la lista de artículos en nuestro bolso e ir anotando las cantidades en un papel para compartirla con un amigo, así como en los videojuegos de rol o también llamados RPG. Vamos sacando uno a uno y contando cuántos hay y anotando en el papel. Un ejemplo de esto en programación sería así:
print('Billetera: 1')
print('Cantimplora: 1')
print('Posima de energia: 2')
print('Cinta de curacion: 10')
print('Monedas de oro: 345')
El resultado en pantalla debería ser similar a esto:
Billetera: 1
Cantimplora: 1
Posima de energia: 2
Cinta de curacion: 10
Monedas de oro: 345
Entonces esta es la lista de artículos en nuestro bolso (las tildes las he omitido para evitar errores), no son muchos y no es un problema aún, pero imagina que llevas 100, 1.000 o 10.000 artículos, escribir 10.000 veces eso es un real problema ¿Cierto?.
La solución es usar las repeticiones, una forma de hacer lo mismo pero de forma automática, 100, 1.000, 10.000 veces o las que necesites y de forma muy fácil.
Para esto vamos a ocupar otra palabra reservada llamada:
for
for en español significa para, y la forma de escribirlo es la siguiente:
for articulo in bolso:
# Intrucciones anidadas
# linea
# a linea
print(articulo)
¿Qué quiere decir esto?, que para cada articulo en el bolso va a realizar las instrucciones anidadas línea a línea que le indiquemos al programa. Aquí hay algo muy especial es que for te permite crear una variable, para este ejemplo, le hemos llamado articulo y vamos a tomar cada artículo desde otra variable llamada bolso. ¿Pero, Dónde está la variable bolso? La variable bolso debemos crearla como una lista antes de que empecemos a usar for.
¿Cómo crear una lista?¶
Las listas son muy útiles y además son muy fáciles de crear. En programación, las listas se crean usando [ para indicar donde empieza la lista y ] para indicar donde termina la lista y cada artículo va separado por una coma.
Antes borra todo el código anterior que haz escrito. Esto sería así y debes colocarlo antes de usar for:
bolso = [
'Billetera: 1',
'Cantimplora: 1',
'Posima de energia: 2',
'Cinta de curacion: 10',
'Monedas de oro: 345'
]
Luego vamos a tomar los artículos uno a uno usando for
for articulo in bolso:
print(articulo)
El resultado de esto será:
Billetera: 1
Cantimplora: 1
Posima de energia: 2
Cinta de curacion: 10
Monedas de oro: 345
Sí, exactamente el mismo que el anterior. Comparemos un poco el programa.
La forma tediosa:
print('Billetera: 1')
print('Cantimplora: 1')
print('Posima de energia: 2')
print('Cinta de curacion: 10')
print('Monedas de oro: 345')
La forma automática:
for articulo in bolso:
print(articulo)
Como puedes notar, en tan solo 2 líneas, hicimos exactamente lo mismo que en 5 líneas, como muestra la forma tediosa, y lo mejor de todo, es que no importa si son 100, 1.000 o 10.000, siempre serán menos líneas, y lo importante acá es ahorrarnos trabajo, por eso la programación es tan práctica y es tan linda, porque puedes hacer con muy poco algo muy grande. Aquí ya podemos encontrarle el sentido a que las personas crean apps para facilitarle la vida a la gente.
Pequeño programa con repeticiones¶
Ya que haz aprendido a realizar repeticiones, borra todo el código anterior. Ahora vamos a crear un programa que le permita al gamer, añadir los artículos que él quiera en su bolso, y luego vamos a mostrarle los artículos que lleva en su bolso, esto es como el bolso de Ash en Pokémon.
Mira este ejemplo y ejecutalo en Thonny
bolso = [] # El bolso esta vacio
articulo = ''
while True:
articulo = input('Escriba el Nombre del articulo a Guardar: ')
if not articulo:
break
bolso.append(articulo)
print('Mostrando articulos en el bolso')
for articulo in bolso:
print(articulo)
¿Haz notado que hay cosas nuevas como while, True, not y break? ,bien, while es otra palabra reservada y que también sirve para hacer repeticiones, en este caso lo estamos usando para que le pregunte al gamer, repetidas veces, cuál es el siguiente artículo a ingresar al bolso. la ventaja que tiene while es que se va a ejecutar siempre que lo que le siga a continuación dé como resultado verdadero, en este caso, la palabra reservada True, tal cuál escrita con la T mayúscula, siempre nos dará un resultado verdadero, ya que la palabra True en español significa verdad, así que esto es un truco para que while haga de forma ilimitada repeticiones.
Luego vemos que después del comando input() está este código
if not articulo:
break
La palabra reservada not nos sirve para verificar si algo no es lo que debería ser, en este caso, nosotros estamos esperando que la variable articulo lleve escrito el nombre del artículo que queremos ingresar al bolso, pero qué pasa si el gamer no escribe ningún nombre, entonces asumimos que el gamer ya no quiere ingresar más artículos porque ya no queda ninguno, así que no tiene ningún otro nombre por ingresar, así que el gamer solo presiona ENTER sin ingresar nada, entonces al preguntar if not articulo estamos preguntando, Si no es un artículo entonces realice lo siguiente dentro de mi bloque. y justamente lo único que está dentro de este if es la palabra reservada break
¿Qué es break?, break permite detener de forma inmediata una repetición, sin importar si faltan artículos más adelante, simplemente termina de repetir.
Esto hará que deje de repetir el while y ya no le preguntará más al gamer que ingrese otro artículo, se saltará la línea
bolso.append(articulo)
y procederá a listar los artículos en pantalla
for articulo in bolso:
print(articulo)
Un momento, ¿Qué es eso de bolso.append(articulo)?, aaah!, pensaste que lo pasé por alto, te explico, las listas son objetos con muchas funciones, y una de esas funciones es permitir fácilmente agregar un elemento sin perder los que ya ingresaron anteriormente.
append en español significa añadir y para usar una función de lista debemos usar un . (punto) y luego escribir el nombre de la función (Que es parecido a un comando, ¿No te parece?).
Cuando escribimos “bolso.” le estamos indicando al programa que queremos usar una función. ¿Pero cómo sabe que funciones puedo usar?, el programa tiene una inteligencia que cuando tu creas la variable de esta forma:
bolso = []
automáticamente el programa sabe que es una lista y que debe incorporar las funciones de listas. Ahora también hay una forma mucho más natural de crear listas y es usar:
bolso = list()
Ambas, [] y list() son exactamente lo mismo, la diferencia es que list() es un comando que te crea una lista y [] es una lista que creas de forma manual, pero el uso es exactamente el mismo y tienen las mismas funciones, digamos que son dos formas de usar listas y es cosa de gustos.
Este artículo ha sido un poquito más complejo que los anteriores, por lo mismo queremos ayudarte a que resuelvas tus dudas, así que si necesitas una guía más personalizada contáctanos a través de nuestra página de facebook RKiemGames.