Python:
Buttons and Conditionals
The Code
# Buttons and Conditionals from microbit import *
while True: if button_a.is_pressed(): display.show(Image.HAPPY) elif button_b.is_pressed(): display.clear()
Conditional Statements
Conditional statements are prevalent in every programming language because they have a multitude of uses. the idea behind them is that IF a condition is true, THEN another action or block of code will trigger and execute. In Python, conditional statements take the following format (elif stands for else if):
if something is True: # DO something elif some other thing is True: # DO something else else: # DO the final option
Loops
The second tool, loops, goes hand-in-hand witht he computational thinking style that is required for conditional statements. There are two main types of loops: while loops and for loops. For loops execute a specific block of code a specific number of times. While loops, loop a specific block of code WHILE a certain condition remains true. Python uses the format below for while loops.
while something is True: # DO this code
The main loop is an indefinite loop. This can be set up easily with the following line:
while True:
This block of code will repeat itself while true is true. This tool can be used any time you want a section of a program to loop or stay activated until a certain event is triggered. In this case, we want a program that responds to the button presses to stay active as long as power is connected to the micro:bit, so we use while True:
Buttons
The final command required is tied to using the buttons. Each button (button_a and button_b) is its own object and therefore has its own commands programmed to work with it. In this case, the command is button_a.is_pressed(). This command will return a value of "true" if the button is being pressed, which works well with the conditional statements from earlier in the lesson. Once they have this line, you can program a button press to do anything you already know how to do! for example:
If button_a.is_pressed(): display.show(boat) elif button_b.is_pressed(): display.clear()
This code displays the boat image created in a previous activit IF the A button is being pressed, and clears the display IF the B button is being pressed.
The code provided above runs only once upon start up, and this is where the while True: loop comes in to play. For this code to run as long as the micro:bit has power, only one line needs to be added and indents need to be in order.