Bucles while Los bucles son giros, si ejecutamos el juego y se acaba y lo queremos volver a jugar será necesario algo que haga que vuelva al inicio por ejemplo.
¿Cómo se hace? La sintaxis es muy semejante a la del if, pero escribiendo la palabra while, la condición y añadimos : (dos puntos), indentamos ese bloque de código pero vamos a poner unos ejemplos para entenderlo bien:
El resultado es, como podemos observar,los números del 1 al 7,al imprimir en cada vuelta y después de aumentar en uno el número. Ahora el siguiente ejemplo pero cambiando la condición y el orden de print.Piensa si saldrá lo mismo o no :)
El bucle while ejecutará el bloque de código siempre y cuando la condición que tenga sea cierta, una vez que no lo sea, se dejará de ejecutar. Una cosa que mola y es una de las primeras cosas que nos hacemos lios con los bucles es que puede que la condición siempre sea válida, entonces entramos en un bucle infinito y hasta que acabe el universo estará dando vueltas y vueltas y vueltas, con lo cual si lo que quieres es eso bien, pero si tu intención no era esa hay que saber como van las condiciones en los bucles while. Aquí tenemos un ejemplo muy representativo de cómo es un bucle y cómo puede seguir hasta cuando tú decidas.Por cierto está basado en Mr.Robot.
Jugamos con una IA
Para repasar un poco los conceptos que vimos en el anterior taller /2018/04/30/taller-virtual-variables-entornos-caminos hemos creado un juego conversacional de texto, que usa condicionales y print(y algún que otro comando) la idea es que os bajéis el juego, lo juguéis, y luego toquéis el código para cambiarlo y darle el formato o el final que os hubiera gustado que tenga, el código es muy accesible y si visteis el anterior articulo lo entenderéis fácilmente. Recordar que aprender jugando es mas accesible y divertido y modificando y tocando el código de otras se aprende muchísimo.
Podéis bajar el juego de aqui
O directamente en consola con:
python juego_conversacional.py
Jugamos con los cops: Beware the cops
Para repasar lo aprendido y con todo el trajín que hay de que si la poli para aquí o para allá,(que si a lxs trabajadorxs sexuales nos salen hijos cops) podemos jugar a un jueguecillo que llamamos «All cops are beautiful» donde tenemos que escapar de los cops y alcanzar la mayor puntuación para evitar que nos cacen y nos den hasta en el carné de identidad. Ojo aún no está a prueba de errores de usuario para poder reutilizarlo cuando expliquemos las excepciones.Aquí el juego, a ver qué puntuación conseguís.
Para repasar
Los comentarios se utilizan para dar explicaciones a ciertas partes del código y también para deshabilitar partes del mismo, se utiliza poniendo una almohadilla delante como en el siguiente ejemplo:
# hola soy un comentario y el intérprete me omite
¿Pero seguro de verdad que éste símbolo (#) de denomina solamente almohadilla? Vamos a ser un poco curiosas y buscar cómo se llama, podéis contestar en los comentarios. Con nuestro intérprete podemos hacer operaciones matemáticas desde las más sencillas, hasta las más complejas. Las más básicas son:
- Suma (+)
- Resta (-)
- Multiplicación (*)
- División (/)
- Módulo (%) quizás parezca que significa el porcentaje de un número, pero nada más lejos de eso, significa el resto de una división. Por ejemplo si dividimos 100/16 obtenemos como resto 4, ese sería el módulo.
>>>100 % 16
Nos devolvería 4 que es el resto o módulo.
Como podéis observar para programar en Python, aparte de ser muy metódica y comprobar continuamente lo escrito, es necesario saber que la tabulación (los espacios) forman parte del código y por eso también es un lenguaje que enseña a formatear de manera correcta. Si no lo hacéis, devolverá algo asi como IndentationError: expected an indented block
No os preócupeis al principio será normal tener ese tipo de errores sintácticos, así como los de lógica. Pero con el paso del tiempo y a través de la práctica esos errores se van aminorando.