BBC micro:bit
5. Operácie
Podmienky - If, elif a else
V ukážke sme vytvorili jednoduché použitie podmienok if, elif a else.
from microbit import *
import music
while True:
cislo = 0
if button_a.is_pressed():
cislo = 14
display.show(cislo)
elif button_b.is_pressed():
music.play(music.DADADADUM)
elif accelerometer.current_gesture() == "shake":
display.show(Image.STICKFIGURE)
else:
display.scroll(" " + str((temperature())))
import music
while True:
cislo = 0
if button_a.is_pressed():
cislo = 14
display.show(cislo)
elif button_b.is_pressed():
music.play(music.DADADADUM)
elif accelerometer.current_gesture() == "shake":
display.show(Image.STICKFIGURE)
else:
display.scroll(" " + str((temperature())))
Porovnanie
Porovnávať môžeme rôzne hodnoty ale navzájom musia byť rovnakého typu. To znamená, že nie je možné porovnať číslo s reťazcom. V ukážke je porovnávaná dĺžka dvoch zoznamov. Rovnakým spôsobom je možné porovnávať čísla alebo iné premenné.
from microbit import *
zoznam1 = ["Procesor", "Grafická karta", "Základná doska"]
zoznam2 = ["Procesor", "Grafická karta", "Základná doska", "RAM", "Pevný disk"]
if len(zoznam1) > len(zoznam2):
display.scroll("Prvy zoznam je dlhsi")
elif len(zoznam1) < len(zoznam2):
display.scroll("Druhy zoznam je dlhsi")
elif len(zoznam1) == len(zoznam2):
display.scroll("Zoznamy su rovnako dlhe")
Ukážka: https://makecode.microbit.org/_CY1AuFJzhMcM
And, or
Logická operácia AND sa používa ak chceme aby boli dve alebo viac podmienok splnených súčasne. OR (alebo) ako už z názvu vyplýva, dáva väčšiu slobodu a splnená podmienka môže byť napríklad len jedna.
from microbit import *
while True:
gesto = accelerometer.current_gesture()
if button_a.was_pressed() and gesto == "left":
display.scroll(" A")
elif button_b.was_pressed() or gesto == "shake":
display.scroll(" B")
while True:
gesto = accelerometer.current_gesture()
if button_a.was_pressed() and gesto == "left":
display.scroll(" A")
elif button_b.was_pressed() or gesto == "shake":
display.scroll(" B")
Ukážka: https://makecode.microbit.org/_ibrMt5bpAc1r