Příspěvky

Zobrazují se příspěvky se štítkem gradované úlohy+python

Nápisy v Pythonu

Obrázek
Skládání nápisů z písmen a posílání zpráv na druhý microbit.

Na začátku stačí pouze zopakovat práci s řetězcem a zbytek už nechat jako projekt. Zadání i řešení vymyslí žáci sami a může tedy vypadat zcela jinak. 
abeceda = "ACBDEFGHIJKLMNOPQRSTUVWXYZ .,!?" display.show(abeceda[0]) 1. Písmena Při stisku tlačítek cyklicky měň zobrazené písmeno abecedy.
>>> Tlačítka s Pythonem from microbit import * abeceda = "ACBDEFGHIJKLMNOPQRSTUVWXYZ .,!?" poradi = 0 display.show(abeceda[poradi]) while True: sleep(50) a = button_a.was_pressed() b = button_b.was_pressed() if a: poradi-=1 display.show(abeceda[poradi]) elif b: poradi+=1 display.show(abeceda[poradi])
Vylepšete tak, aby se po posledním znaku opět zobrazilo A a naopak. Např.:
if a: if poradi==0: poradi=len(abeceda) poradi-=1 display.show(abeceda[poradi]) elif b: poradi+=1 if poradi==len(abeceda): …

Tlačítka s Pythonem

Obrázek
Jak pracovat s tlačítky v Pythonu?
button_a.is_pressed()    Je právě teď tlačítko A zmáčknuto? (True/False)
button_a.was_pressed()   Bylo tlačítko A zmáčknuto od spuštění programu / od posledního dotazu? (True/False)
button_a.get_presses()   Kolikrát bylo tlačítko A zmáčknuto od spuštění programu? (číslo)
button_a.reset_presses() Nastaví počet zmáčknutí tlačítka A na nulu.

Analogicky pro button_b.
Příklad na is_pressed()Při stisku tlačítka A zobrazuje A, při stisku B zobrazuje B.
from microbit import *
while True:
if button_a.is_pressed():
        display.show("A")
elif button_b.is_pressed():
        display.show("B")
else:
        display.clear()
Příklad na was_pressed() Zobrazí A i pokud bylo tlačítko zmáčknuto během spánku.
from microbit import *
while True:
if button_a.was_pressed():
        display.scroll("A")
else:
        display.scroll(Image.ASLEEP)
    sleep(1000)
Příklad na get_pressed() Ukazuje počet stisknutí tlačítka A. Výsledné číslo přetypujem…

Kreslení s Pythonem

Obrázek
jas = display.get_pixel(x, y)
do proměnné jas uloží jas diody na [x,y]

display.set_pixel(x,y,j)
diodě na [x,y] nastaví jas (od 0 do 9)

display.clear()
nastaví všechny diody na 0

<< Zpět na Začínáme s Pythonem na microbitu 1. První pokusOpakovaně rozsvěcuj a zhasínej ledku uprostřed. 
from microbit import * while True:     display.set_pixel(2,2,9)     sleep(500) display.set_pixel(2,2,0) sleep(500)
2. Náhodné rozsvěcování
Vyzkoušejte nejprve:
from microbit import *
from random import randrange while True:
    display.show(randrange(0,9))
    sleep(200)
Díky řádku from random import randrange, můžeme používat příkaz randrange() z modulu random (náhoda), který náhodně vybírá celé číslo.

Opakuj dokola: rozsviť ledku na náhodné pozici (x i y od 0 do 4). Zkuste různé nastavení čekání. 
from microbit import * from random import randrange while True:     x = randrange(0,5)     y = randrange(0,5) display.set_pixel(x,y,9)     sleep(500)
Vylepšení: Vybírejte i jas náhodně.
Varianty: Rozsvěcujte náhodně pouze diody …

Začínáme s Pythonem

Obrázek
python.microbit.org # poznámku označíme dvojkřížkem  (pravý alt + X) 
# stejně tak zakomentujeme nepotřebné řádky kódu 
# rozlišuje velká a malá písmena a odsazení řádků


"Save" uloží kód .py k pozdějšímu využití
– stačí soubor "hodit" do okna
"Download" stáhne kód .hex pro Micro:bit.
Dokumentace
Popis vzorového programu[1] # Add your Python code here. E.g. 
[2] from microbit import * 
[3]
[4] while True: 
[5]   display.scroll('Hello, World!') 
[6]   display.show(Image.HEART) 
[7]   sleep(2000)

[1] do poznámky je vhodné napsat název a popis programu a uvést autora
[2] pro ovládání microbitů potřebujeme příkazy z modulu microbit
[3] prázdné řády slouží ke zpřehlednění kódu
[4] nekonečný cyklus, provádí se stále dokola
do těla cyklu patří všechny stejně odsazené řádky, tedy [5], [6], [7]
[5] roluj nápis na displeji
[6] zobraz obrázek, seznam je v dokumentaci
[7] čekej 2000 milisekund = 2 sekundy

1. První vlastní programPři startu napiš "AHOJ" a zobraz sr…