Archivo de la etiqueta: Soluciones

Solución al ejercicio del prototipo con pulsador

Hace un par de semanas nos divertíamos con un prototipo que contaba nada menos que con un LED y un pulsador, aprendiendo a controlar el LED gracias a la señal proveniente del pulsador que introducíamos por un PIN GPIO.

Al final del artículo os proponía un ejercicio que decía así:

Tomando como base los programas de este artículo, consigue variar su funcionamiento de tal forma que pulsar el botón cambie su estado. Es decir, una pulsación lo enciende, otra lo apaga; si dejamos el dedo oprimiendo el pulsador, el LED parpadea cambiando de estado cada segundo. Como en este vídeo:

Consideraciones para Python: puedes usar un bucle infinito en Python (while True:), y terminar el programa usando la combinación de teclas CTRL + C (pulsar a la vez las teclas Control y C).

Lo mejor, en cualquier caso, sería que usases un bloque try: ... finally: ... como los que vimos en el artículo de excepciones, para hacer cosas como liberar recursos y apagar el LED antes de finalizar el programa.

Vamos a ver la solución.

Sigue leyendo Solución al ejercicio del prototipo con pulsador

Soluciones a los ejercicios de funciones y módulos de Python

La semana pasada os dejaba dos ejercicios como parte del artículo de funciones y módulos de Python. Se trataba de hacer una calculadora de la siguiente forma: Programa una calculadora que funcione por línea de comandos para las operaciones de suma, resta, multiplicación y división, y para un máximo de 2 números enteros (sumar, restar, multiplicar y dividir dos números enteros). Debe reconocer los símbolos usuales de estas operaciones: “+”, “-“, “*” y “/”. Debes usar funciones, una para cada operación. Captura de pantalla 2015-07-11 19.23.00 Ten en cuenta, eso sí, dos cosas que no tienes por qué saber aún:

  • Los valores numéricos llegarán a tu programa a través de la línea de comandos como cadenas, siempre. Es decir, cuando pases como parámetro un 2, tu programa Python entenderá “2” y no 2. Para que tus operaciones aritméticas funcionen bien, fuerza una conversión a números con la función int(), a la que le pasarás como parámetro cada argumento que quieras que se interprete como un número entero.
  • Ésta ya la habrás podido notar en la imagen superior 🙂 En Linux y en Mac OS X, el asterisco “*” es un caracter especial para el Terminal y lo interpretará antes de pasárselo a tu programa Python. Para que llegue un asterisco a tu programa, cuando lo pruebes tendrás que escapar el asterisco usando una barra invertida, : ./calculadora.py 2 * 3. Esto no ocurrirá en Windows.

Posteriormente, había un segundo ejercicio que trataba de mejorar la calculadora anterior para que usase un módulo. Vamos con las soluciones Sigue leyendo Soluciones a los ejercicios de funciones y módulos de Python