Introducción a la Programación con Python

y raspberry Pi

Víctor Suárez García -  La jaquería

¿Cómo Funciona un Ordenador?

El ordenador solo entiende 2 cosas...

¿Entonces como le damos ordenes al ordenador?

Lenguaje de programación

class BlogRenderer:
    """
    Class BlogRenderer: This class provides the feature for render posts from Markdown to 
    HTML and search features.
    :Author: Zerasul <suarez.garcia.victor@gmail.com>
    Date: 2018-05-05
    Version: 0.1.0
    """
    postdir = None
    """
    Posts Directory
    """

    def __init__(self, postdir):
        """
        This is the constructor of the blog renderer.
        :param postdir: Posts Directory. See Settings py for more information.
        """
self.postdir = postdir

¿Qué es Python?

Python

Lenguaje de programación que nos va a permitir realizar programas para nuestro ordenador, movil, tablet, etc...

¿Qué podemos hacer con python?

Comenzar con Python

Instalar Python

Para Instalar Python, nos descargaremos el paquete python desde los repositorios de raspbian.

apt install python3

Ejecutar Python

python3
Python 3.7.3 (default, Apr  3 2019, 05:39:12) 
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

NOTA: para salir teclear quit()

Code-Oss

Si se ha instalado Visual Studio Code para Raspbian (Code-Oss), podeis utilizar la extensión de python para ejecutar el interprete

Programar con Python

Matematicas con Python

# Suma

2+2 

# Resta

2-2

# Multiplicacion

2*2

# Division

2/2

# Resto de la division

2%2

Hola Mundo

print('Hola Mundo')

Variables

Podemos usar los números o letras para poder realizar acciones con python. Pero... A veces es necesario poder almacenar estos datos.

A

2

Variables

>>> A = 2

>>> A
2

>>> A+1
3

Variables

A = 1
a = 3
>>> a+A
A = '1'

Comparaciones

>>> A = 2
>>> B = 3
>>> A > 0
True
>>> B >= A
False

Instrucciones de Control

A veces, es necesario poder decidir la acción a realizar o repetir una serie de acciones por lo que vamos a utilizar las "instrucciones de control"

  • Control condicional
  • Control Repetitivo

Instrucciones de Control Condicional

Opcion 1

Opcion 2

Las instrucciones de control condicional permiten elegir que hacer en función de una condición

Instrucciones de Control Condicional

if a> 1:
    printf("a es mayor que 1")
else:
    printf("a es menor o igual que 1")

ATENCIÓN: En python los tabuladores son imporrtantes; indican cuando acaba y termina cada bloque.

Instrucciones de Control Condicional

En python para indicar cuando acaba un bloque y empieza otro, se debe de utilizar la tecla tabulador; la cual añade una sangria.

#Codigo correcto
if a>1:
    a=a+1

#codigo incorrecto
if a>1:
a=a+1

Instrucciones de Control Condicional

Las instrucciones de control condicional son 3:

  • if -> comprueba una codicion y realiza una serie de acciones.
  • if-else-> comprueba una condición y realiza una serie de acciones u otras en caso de no cumplirse.
  • if-elif-else-> comprueba una serie de condiciones y realiza las acciones que contemplen dichas condiciones.

Instrucciones de Control Condicional

#Ejemplo If
if a > 1:
    a=a+1

Instrucciones de Control Condicional

#Ejemplo If-else
if a > 1:
    a=a+1
else:
    a=a-1

Instrucciones de Control Condicional

#Ejemplo If-elif-else
if a == 1:
    a=a+1
elif a==1:
    a=a+2
else:
    a=a-1

Instrucciones de Control Repetitivo

Instrucciones que permiten repetir acciones a partir de una o varias condiciones.

Instrucciones de Control Repetitivo

#Ejemplo Mientras

while a>1:
    a=a-1

Vamos a mostrar 2 intrudcciones de control repetitivo o Bucles:

  • Mientras
  • for

Instrucciones de Control Repetitivo

#Ejemplo Mientras

while a>1:
    a=a-1

El bucle Mientras (while), permite ejecutar repetidamente unas instrucciones mientras ocurra una condición

Instrucciones de Control Repetitivo

#Ejemplo for

for i in range(1,10):
    a=a+i

El bucle for, permite repetir una serie de acciones a partir de un contador o mientras se recorre una lista (se verá más adelante)

Listas

A

1

B

1

...

N

1

Supongamos que queremos guardar N numeros... Tendremos que guardar N Variables....

Listas

 

1

 

1

...

N

1

Sin embargo, podemos crear una Lista donde almacenar todos estos datos....

[

]

Listas

En python podemos crear una lista vacia.

Lista = []

o con datos...

Lista = [2, 3, 4, 5]

Para acceder a un dato de la lista usaremos un indice comenzando por 0.

Lista[0]
1
Lista[2]
4

Listas

Para recorrer una lista podemos usar el bucle for.

for n in lista:
    print(n)

1
2
3
4
5

Listas

Operadores de Lista

Lista[:2]
[1,2,3]

Lista[1:3]
[2,3]

Lista2 = [7,8]

Lista+Lista2

[1,2,3,4,5,6,7,8]

Tuplas

Las tuplas se comportan de igual forma que las listas; excepto que son inmutables (no se pueden modificar).

Tupla = (1,2,3,4)

Tupla[0]
1
Tupla[:2]
(1,2)
Tupla[1:3]
(2,3)

Ejemplo de Python con Raspberry Pi Gpio

 

Uno de los ejemplos que podremos usar con raspberry pi y python, es poder interactuar con el exterior a través de los pines o GPIO que podemos encontrar en la placa.

Ejemplo con Python Y raspberry Pi

Para este ejemplo necesitaremos:

  • 1 Breadboard
  • 1 Led
  • 1 Resistencia de al menos 220Ohmios

Ejemplo con Python Y raspberry Pi

Este es el esquema que vamos a montar:

Ejemplo con Python Y raspberry Pi

Por Último, el código fuente.

import RPi.GPIO as GPIO
import time
print('Hola Python')

GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.OUT)

while True:
    GPIO.output(7,True)
    time.sleep(1)
    GPIO.output(7,False)
    time.sleep(1)
Made with Slides.com