jueves, 18 de agosto de 2016

Progamación Python XIII (control excepciones)

Este es otro post dedicado a programación en Python, encontraréis todos los posts de este tipo juntos en el apartado Programación del blog. Y si queréis aprender más podéis visitar la web oficial de www.python.org

En este post vamos a ver como controlar las excepciones con python. Seguramente si habéis seguido los anteriores post de python en algún momento al ejecutar el código python os ha devuelto un error o excepción, y el código no se ha ejecutado de forma correcta, bien porque hemos cometido un error al escribir o bien porque hemos provocado un error involuntario. El mensaje de error que devuelve python muchas veces no queremos mostrarlo tal cual al usuario, de manera que tendremos que controlar el error y devolver un mensaje concreto.




1. Control de excepciones con try ... except



1.1 Generar un error en python

Para poder ver como funciona el control de errores y/o excepciones lo primero que vamos a hacer es crear un código que genere un error, por ejemplo vamos a definir una lista de 9 elementos y vamos a intentar acceder al elemento núemero 10 (que no existe), lo que provocará un error de ejecución del programa. Seguid el ejemplo

# guardamos en una variable una lista de elementos
lista_numeros=[0,1,2,3,4,5,6,7,8]
# mostramos por pantalla el elemento 2 de la lista
print(lista_numeros[2])
# mostramos por pantalla el elemento 10 de la lista que no existe
print(lista_numeros[10])
# mostramos por pantalla el elemento 6 de la lista
print(lista_numeros[6])

al ejecutar este código en la consola de python veremos por pantalla el elemento 2 de la lista y luego obtendremos un error IndexError, parecido a este

Traceback (most recent call last):
    File "<stdin>" , line 6, in <module>
    print(lista_numeros[10])
IndexError: list index out of range

domingo, 7 de agosto de 2016

Nueva RaspberryPi A+

Hace unos días se presentó un nuevo modelo de RaspberryPi A+, un producto más económico que el modelo de RaspberryPi B. Aunque no podemos destacar grandes mejoras, solamente que ahora dispondremos de 512 MB de memoria RAM. En definitiva se trata de una RaspberryPi Zero pero con conexiones de HDMI y alimentación normales (no nos hace falta un adaptador micro) y evidentemente su tamaño se mantiene igual, aquí os dejo una imagen.




El tamaño se mantiene 65x56mm, y el resto de especificaciones también excepto la RAM:
  • Soc Broadcom BCM2835
  • procesador a 700 Mhz
  • GPU VideoCore IV de doble núcleo
  • 512 MB RAM
  • Salida video HDMI (puerto inferior centro)
  • Ranura Micro SD
  • puerto micro USB para la alimentación (puerto inferior izquierdo 5V a 2 A)
  • puerto USB2 para datos (puerto derecho)
  • incorpora 40 Pin GPIO (en la parte superior)
  • Conexión para una cámara (puerto izquierdo)
Es una lástima que no incorpore también un puerto Ethernet o red WiFi, de manera que las mejoras son básicamente en el aumento de la RAM, a 512MB y en la eficiencia energética de la placa. Personalmente creo que por la diferencia de precio es mejor comprar el modelo de Raspberry Pi B+, mucho mas completo y con poca diferencia de tamaño.

Os dejo un enlace para ver con detalle todas las características

https://www.modmypi.com/raspberry-pi/model-a-plus/raspberry-pi-model-a-plus-new

Y aquí os dejo el enlace de la tabla comparativa de modelos:

jueves, 4 de agosto de 2016

Progamación Python XII (números aleatorios)

Este es otro post dedicado a programación en Python, encontraréis todos los posts de este tipo juntos en el apartado Programación del blog. Y si queréis aprender más podéis visitar la web oficial de www.python.org

En este post vamos a ver como obtener números aleatorios con python. Para ello vamos a necesitar importar módulos, tal y como vimos en un post anterior.





1 Módulo para obtener números aleatorios (random)



En Python podemos usar el módulo random para obtener lo que se define como números aleatorios, este módulo dispone de varios métodos, pero solo vamos a ver los más comunes. Para más información podéis visitar la web de referencia de python

https://docs.python.org/3/library/random.html#module-random


1.1 Números aleatorios con randint()



randint(inicio,fin) nos permite obtener un número aleatorio dentro de un rango de números (que podemos especificar), veamos un ejemplo

# importamos en modulo random
import random
# guardamos en una variable el numero aleatorio obtenido
numero_a=random.randint(1,6)
# mostramos por pantalla el numero aleatorio obtenido
print(numero_a)

en este ejemplo obtendremos un número aleatorio comprendido entre 1 y 6 (ambos incluidos).