jueves, 1 de septiembre de 2016

Programación Python XIV (uso de archivos)

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 usar archivos desde python, crear un archivo, escribir, leer los datos contenidos, etc.




1.1 Crear un archivo y guardar datos 

En primer lugar vamos a ver como abrir un archivo, escribir datos en este archivo y finalmente cerrarlo. Mirad el siguiente ejemplo

# abrimos el archivo asignándolo a una variable
archivo=open('/home/pi/Desktop/fichero.txt','w')
# escribimos en el fichero los datos
archivo.write('Primera línea del fichero\n')
archivo.write('Segunda línea del fichero\n')
# cerramos el fichero
archivo.close()
click aquí para descargar el código


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])
click aquí para descargar el código
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)
click aquí para descargar el código
en este ejemplo obtendremos un número aleatorio comprendido entre 1 y 6 (ambos incluidos).

jueves, 28 de julio de 2016

Python XI (formato de fechas y calendario)

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 trabajar y formatear las fechas y un calendario con python. Para ello vamos a necesitar importar módulos, tal y como vimos en el post anterior


1. Modulos para trabajar con fechas (módulo time y el módulo datetime)


Para trabajar con fechas los dos módulos principales de python son el módulo time y el módulo datetime. El primero es un módulo de bajo nivel con diversas funciones pero no todas ellas están disponibles en todas las plataformas. Por otro lado tenemos el módulo datetime que nos proporciona un abanico más amplio.

Me centraré directamente en el módulo datetime aunque si tenéis curiosidad aquí tenéis un enlace de referencia para el módulo time

https://docs.python.org/3/library/time.html


1.1 Módulo datetime 

Como ya he dicho este módulo porporciona un abanico más amplio para trabajar con fechas, vamos a ver algunas de las muchas opciones que podremos usar. 

jueves, 14 de julio de 2016

Python X (módulos o bibliotecas)

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 algunos de los próximos posts vamos a usar lo que en python se llaman módulos y/o bibliotecas. Por eso hoy vamos a ver como usarlos.



1. Qué es un módulo o bibliotecca de python

Un módulo es un archivo de python (con extensión .py) que contiene diferentes componentes, que pueden ser funciones variables y/o pequeños programas ejecutables. Además existen una gran cantidad de módulos para python en sus diferentes versiones (cuidado que algunos no son compatibles entre diferentes versiones). Cada unos de estos módulos tiene un nombre específico con el que lo podemos llamar, y como he dicho cada módulo puede contener múltiples componentes, variables, funciones o comandos ejecutables, cada uno también con un nombre específico. En muchos casos hay módulos con un componente con el mismo nombre, incluso diferentes módulos con componentes, variables y/o funciones con el mismo nombre, de forma que hay que tener cuidado al importarlos para no confundirnos.

Python lleva por defecto algunos de estos módulos ya incorporados (forman parte del núcleo para poder programar), sin embargo otros módulos deberemos descargarlos y/o instalarlos para poder usarlos. Muchos dispositivos de hardware, como por ejemplo los sensores, traen consigo sus propios módulos python para ayudarnos a programar con ellos de una forma sencilla. Aquí tenéis un link con la lista de módulos

https://docs.python.org/3/py-modindex.html


2. Como importar un módulo

Existen diferentes formas de importar un módulo, vamos a ver en qué se diferencian

lunes, 4 de julio de 2016

Python IX (formato de números)

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

Hoy vamos a ver como dar formato a los números.




1. Formato de números


1.1 Formato de números

1.1.1 Definir el número de decimales

Para formatear un número usaremos la instrucción format, pero su uso es un poco complejo, la instrucción format va precedida del tipo de formato que deseamos aplicar al número entre { }, veamos un ejemplo

# asignamos a una variable un número de punto flotante
numero_pi=3.1416
# asignamos a la variable numero_final un número de punto flotante
# con dos decimales que formateamos con la instrucción "{:.2f}"
numero_final="{:.2f}".format(numero_pi)
# mostramos por pantalla el número final formateado
print(numero_final)
click aquí para descargar el código