MICRO:BIT- PRÁCTICA 2: SENTENCIA IF



SENTENCIA IF

Nos permite realizar una serie de acciones cuando se cumple una condición, el editor de Python para Microbit nos ayuda a recordar sus sintaxis con la herramienta Code Snippets en la parte superior de la pantalla






Si seleccionamos if





En pantalla aparecerá :





Donde condition es la condición que debe cumplirse para realizar las instrucciones que escribiremos a continuación.

Estas condiciones pueden ser eventos de la propia tarjeta o operaciones lógicas que nosotros diseñaremos.

Por ejemplo podemos tener como condición si se ha pulsado un botón

button_a.is_pressed()
button_b.is_pressed()
probemos con el siguiente ejemplo:
from microbit import *


while True:
    
    if button_a.is_pressed():
        display.show(Image.HEART)
        
    if button_b.is_pressed():
       display.clear()

nos indica si a o b están pulsados en ese momento, si queremos saber si ha sido pulsado utilizaremos
button_a.was_pressed()
button_b.was_pressed()

ambos pueden combinarse mediante funciones lógicas como and

if button_a.is_pressed() and button_b.is_pressed():
        display.scroll("AB")
 
 Comprobamos en la placa el programa
from microbit import *
while True:
   if button_a.is_pressed() and button_b.is_pressed():
       display.scroll("AB")
Recordemos

Sintaxis de la sentencia condicional if ...

La sintaxis de la construcción if es la siguiente:

if condición:
    aquí van las órdenes que se ejecutan si la condición es cierta
    y que pueden ocupar varias líneas

La ejecución de esta construcción es la siguiente:

  • La condición se evalúa siempre.
    • Si el resultado es True se ejecuta el bloque de sentencias
    • Si el resultado es False no se ejecuta el bloque de sentencias.

Cuando tenemos dos opciones: si se cumple una condicióm....> sentencias 1 y

sino ...> sentencias 2 utilizamos if - else

Bifurcaciones: if ... else ...

La estructura de control if ... else ... permite que un programa ejecute unas

instrucciones cuando se cumple una condición y

otras instrucciones cuando no se cumple esa condición.

En inglés "if" significa "si" (condición) y "else" significa "si no".

La orden en Python se escribe así:

Sintaxis de la sentencia condicional if ... else ...

La sintaxis de la construcción if ... else ... es la siguiente:

if condición:
    aquí van las órdenes que se ejecutan si la condición es cierta
    y que pueden ocupar varias líneas
else:
    y aquí van las órdenes que se ejecutan si la condición es
    falsa y que también pueden ocupar varias líneas

La ejecución de esta construcción es la siguiente:

  • La condición se evalúa siempre.
    • Si el resultado es True se ejecuta solamente el bloque de sentencias 1
    • Si el resultado es False se ejecuta solamente el bloque de sentencias 2.
Queremos realizar un programa que muestre A en pantalla si está pulsado el botón A y
si no que muestre 0 Igual que con la sentencia if podemos elegir else en el editor El programa que probaremos en nuestra placa será:
from microbit import *
while True:
if button_a.is_pressed() :
display.scroll("A")
else:
display.scroll("0")

Observa que if y else se encuentran a la misma altura ¿Y si tenemos más de dos opciones?

Más de dos alternativas: if ... elif ... else ...

La construcción if ... else ... se puede extender añadiendo la instrucción elif:

La estructura de control if ... elif ... else ... permite encadenar varias condiciones. 

elif es una contracción de else if. La orden en Python se escribe así:

Sintaxis de la sentencia condicional if ... elif ... else ...

La sintaxis de la construcción if ... elif ... else ... es la siguiente:

if condición_1:
    bloque 1
elif condición_2:
    bloque 2
else:
    bloque 3
  • Si se cumple la condición 1, se ejecuta el bloque 1
  • Si no se cumple la condición 1 pero sí que se cumple la condición 2, se ejecuta el bloque 2
  • Si no se cumplen ni la condición 1 ni la condición 2, se ejecuta el bloque 3.
Se pueden escribir tantos bloques elif como sean necesarios. El bloque else (que es opcional) se ejecuta si no se cumple ninguna de las condiciones anteriores. Podemos elegir elif en el editor Veamos un programa que escriba en pantalla que teclas se han pulsado
from microbit import *
while True:
if button_a.is_pressed() and button_b.is_pressed() :
display.scroll("AB")
elif button_a.is_pressed():
display.scroll("A")
elif button_b.is_pressed():
display.scroll("B")
else:
display.clear()


PROGRAMA A ENTREGAR

Realiza un programa que encienda el led 2,2 de la pantalla cuando se pulse A, que lo apague cuando se pulse B 

y que lo encienda a media luz cuando se pulse A y B