Archivos mensuales: Octubre 2015

Nuestra primera excepción

Excepciones en Python I: Control básico de excepciones

Hay situaciones en las que un programa se comporta de manera inesperada, incorrecta o, directamente interrumpe su ejecución de forma incontrolada. Tratar esas situaciones es el día a día de todos los que jugamos, profesional o personalmente, con la programación.

Muy por delante de saber escribir programas en un lenguaje de programación, el primer paso para convertirte en un buen programador es pensar que las cosas fallan y que hay que hacer todo lo posible para controlarlas si eso ocurre. La experiencia me ha demostrado que, si alguien se considera un buen programador, de todo el tiempo que invierta en un programa la mayoría se dedicará en tratar situaciones inesperadas para que el programa funcione bien en la mayoría de las circunstancias. Este concepto es esencial: un programa que funciona bien, funciona bien incluso cuando algo falla. Es más: debe hacerlo. 

En este artículo vamos a iniciarnos en el control de este tipo de situaciones cuando programamos con el lenguaje Python, de una forma un tanto básica pero que será de mucho provecho en los artículos que vienen a continuación en PItando.

Sigue leyendo Excepciones en Python I: Control básico de excepciones

Episodio 7 – Proyecto global “Weather Station For Schools”. Especial “cómo hago PItando”

En este episodio os voy a contar un proyecto interesantísimo llamado “Weather Station For Schools”, Estación meteorológica para escuelas, que organiza un experimento meteorológico a lo largo de 1.000 institutos de todo el mundo para realizar mediciones y analítica de datos meteorológicos entre todos ellos. Las mediciones se realizarán con una estación meteorológica basada, cómo no, en la Raspberry Pi.

El proyecto está llevado por la Fundación Raspberry Pi y apoyado financiera y tecnológicamente por Oracle. Destaca el hecho de que un instituto español, más concretamente el Instituto de Educación Secundaria Cervantes de Madrid, va a participar en el proyecto.

Enlaces de interés:

En la segunda parte del programa hago un especial acerca de algún truquillo, más que una técnica en sí, y medios con los que hago PItando: blog, fotografías, vídeos y podcast. De esta parte del programa  os dejo una colección de enlaces por si os queréis descargar alguno de los programas y servicios que uso:

Y, de propina, un par de fotos del rincón de grabación (“el chiringuito“), sólo visibles en las notas del programa en el blog – http://pitando.net/2015/10/29/episodio-7-proyecto-global-weather-station-for-schools-especial-como-hago-pitando:

Fotografía del detalle de un prototipo, usando trípode y cámara con zoom óptico.
Fotografía del detalle de un prototipo, usando trípode y cámara con zoom óptico.
Rincón de grabación: dos trípodes con sus patas entrelazadas, con el móvil para grabar vídeo y el micrófono para grabar el sonido, todo en directo. Es fácil imaginar lo sencillo que es tirarlo todo con los cables del multímetro, o al manipular el prototipo.
Rincón de grabación: dos trípodes con sus patas entrelazadas, con el móvil para grabar vídeo y el micrófono para grabar el sonido, todo en directo. Es fácil imaginar lo sencillo que es tirarlo todo con los cables del multímetro, o al manipular el prototipo.

Este podcast comienza, y termina, con una sintonía compuesta por Eric Skiff, “We’re the Resistors“.

Soluciones a los ejercicios de ficheros

Hace tres semanas os proponía dos ejercicios en el artículo de trabajo con ficheros en Python. Decían así:

  1. Crea un programa ejecutable por línea de comandos que reciba el nombre de un fichero (ruta relativa al directorio actual) como parámetro, y que devuelva el número de caracteres total, y el número total de palabras.
    1. Sólo puedes abrir el fichero una vez.
    2. Sólo puedes hacer una pasada al fichero (no vale volver a la posición inicial usando la función seek 
    3. No está permitido leer el fichero con read  ni con readlines 
  2. Crea otro programa ejecutable por línea de comandos que reciba el nombre de un fichero (ruta relativa al directorio actual) y que produzca otro, de igual nombre pero con extensión .pitando, con el contenido del primero fichero pero en mayúsculas.
    1. Sólo puedes abrir el fichero original una vez.
    2. Sólo puedes hacer una pasada al fichero (no vale volver a la posición inicial usando la función seek 
    3. No está permitido leer el fichero con read  ni con readlines 

Vamos a ver las soluciones paso a paso.

Sigue leyendo Soluciones a los ejercicios de ficheros

Raspbian Jessie – notas

Si instaláis Raspbian Jessie mediante Noobs, tenéis que tener en cuenta que el proceso de configuración cambia un poco. En lugar de abrirse el programa de configuración una vez se reinicia el sistema por primera vez, iréis al escritorio. Allí podréis escoger si abrir un terminal y lanzar el conocido programa de configuración con sudo raspi-config, para el que podéis seguir las instrucciones detalladas de este post, o bien configurar la Raspberry Pi visualmente con un panel de control muy sencillito (aunque en inglés). El panel de control está en Menú (Menu) → Preferencias (Preferences) → Raspberry Pi Configuration

RaspiConf-1RaspiConf-2

Os interesan:

  • La opción de Disable dentro de Overscan en la pestaña System: si veis áreas negras en vuestra pantalla o televisor.
  • Las correspondientes a la zona horaria (Timezone), idioma global (Locale) y teclado (Keyboard) en la pestaña Localisation.

Las opciones a configurar son muy fáciles de hacer si recordáis lo que configurábamos con la primera puesta en marcha (hay una lista bien detallada), pero no dudéis en poneros en contacto conmigo mediante los comentarios, el formulario de contacto o el correo electrónico que allí tenéis

Un ratón bien feo.

Nuestro primer videojuego con Scratch (3): el gato encuentra al ratón

El mes pasado comenzaba una serie en PItando en la que trataba de crear con vosotros un videojuego muy básico en Sratch. Constaba de, a priori, cuatro partes:

  1. Mover al gato en las cuatro direcciones y hacer que rebote en los bordes del escenario. Conseguido en la primera entrega.
  2. Programar la lógica de rebote para cuando el gato se encuentre con una pared roja. Conseguido en la entrega anterior.
  3. Programar la lógica de “gato encuentra a ratón”.
  4. Proponer un esquema de puntuación para poder competir con nuestros amigos.

En esta entrada de hoy, la tercera de la serie, vamos a ir un paso más allá y vamos a programar sobre un escenario básico la detección del ratón, además de resolver los ejercicios que os planteaba en la última entrada.

Si te animas, que espero que sí, sigue leyendo 🙂

Sigue leyendo Nuestro primer videojuego con Scratch (3): el gato encuentra al ratón