BBC micro:bit
8. Funkcie
Funkciami
si môžeme rozdeliť svoj kód na menšie bloky, ktoré sa budú vykonávať keď ich
zavoláme. Uľahčujú nám prácu pri vytváraní programu, keďže pri opakujúcich sa činnostiach, stačí funkciu vytvoriť raz a použiť ju napríklad s inými premennými.
Syntax:
def funkcia(a, b, c):
c = a ** 2 + b ** 2
print(c)
funkcia(8, 7, 0) # Volanie funkcie s parametrami a = 8, b = 7, c = 0
c = a ** 2 + b ** 2
print(c)
funkcia(8, 7, 0) # Volanie funkcie s parametrami a = 8, b = 7, c = 0
V ukážke sme použili jednoduchú funkciu delenia premenných. P0 je zvyšovanie premennej a o 1, P1 zvyšuje premennú b o 1 a P2 vyberá náhodné číslo od 0 do 99 pre tieto premenné. Tlačidlami A a B si zobrazíme hodnoty týchto premenných a stlačením A+B zavoláme našu funkciu, ktorá premenné vydelí a zobrazí výsledok.
from microbit import *
import random
while True:
a, b, c = 0
def delenie():
c == a / b
if button_a.was_pressed():
display.show(a)
elif button_b.was_pressed():
display.show(b)
elif button_a.was_pressed() and button_b.was_pressed():
delenie()
display.show(c)
elif pin0.is_touched():
a += 1
elif pin1.is_touched():
b += 1
elif pin2.is_touched():
a == random.randint(99)
b == random.randint(99)
import random
while True:
a, b, c = 0
def delenie():
c == a / b
if button_a.was_pressed():
display.show(a)
elif button_b.was_pressed():
display.show(b)
elif button_a.was_pressed() and button_b.was_pressed():
delenie()
display.show(c)
elif pin0.is_touched():
a += 1
elif pin1.is_touched():
b += 1
elif pin2.is_touched():
a == random.randint(99)
b == random.randint(99)
Ukážka: https://makecode.microbit.org/_20FCRafuqL5j