Přepínač#
Zavedení#
Bloky Switch pomáhají studentům přejít z blokového kódování na textové kódování. S bloky Switch mohou studenti psát kód Pythonu přímo v projektu bloků – zapisovat příkazy, podmínky, hodnoty nebo definice funkcí – a zároveň sestavovat zbytek projektu pomocí bloků. Jednotlivé bloky lze také převést na ekvivalentní příkazy Pythonu.
Chcete-li se naučit, jak psát příkazy, metody a operátory Pythonu, podívejte se na VEX 123 Python API.
Protože bloky Switch obsahují kód Pythonu, musí být pravopis, interpunkce a odsazení správné, aby projekt běžel podle očekávání.
Níže je uveden seznam všech bloků přepínačů:
Přepínání bloků – Přidání kódu Pythonu do projektu Blocks.
Stack — Poskytuje prostor pro zadávání příkazů Pythonu, které se spouštějí v pořadí s dalšími bloky zásobníku.
C Block — Poskytuje prostor pro zadání řídicího kódu Pythonu, například příkazů
if,whilenebofor.C Expandable — Poskytuje prostor pro psaní řídicího kódu Pythonu s více větvemi, například
if,elifneboelse.Boolean — Poskytuje prostor pro zadání kódu Pythonu, který vrací
TrueneboFalse.Reporter — Poskytuje prostor pro zadání kódu Pythonu, který vrací hodnotu.
Hat — Poskytuje prostor pro definování funkce Pythonu.
Stoh#
Blok Stack poskytuje prostor pro psaní příkazů Pythonu, které se spouštějí v pořadí s ostatními bloky stack.
[] :: custom-switch
Blok Stack může obsahovat jeden nebo více řádků kódu v Pythonu.
při spuštění :: hat events
[Drive forward, then stop.]
[robot.drive(FORWARD)] :: custom-switch
čekat [2] sekund
zastavit jízdu
Blok C#
Blok C poskytuje prostor pro zadání řídicího kódu Pythonu, například příkazů if, whilenebo for Bloky umístěné uvnitř bloku C fungují jako součást této řídicí struktury Pythonu.
if [] :: custom-switch
konec
Řídicí kód Pythonu, který lze použít v bloku C, zahrnuje:
při spuštění :: hat events
[Drive forward whenever the left button is pressed.]
navždy
if [if robot.get_button(LEFT):] :: custom-switch
jet [dopředu v] na [200] [mm v] ▶
konec
konec
Rozbalitelné C#
Blok C Expandable poskytuje prostor pro psaní řídicího kódu Pythonu s více větvemi, například if, elifnebo else. Další větve lze přidat výběrem šipky plus.
if [] :: custom-switch-expand
konec
Řídicí kód Pythonu, který lze použít v C Expandable bloku, zahrnuje:
při spuštění :: hat events
[Drive forward if there is not an object in the way.]
navždy
if [if robot.eye.is_object_detected():] :: custom-switch-expand
zastavit jízdu
else [else:] :: custom-switch-expand
jet [dopředu v] na [200] [mm v] ▶
konec
konec
Booleovská hodnota#
Blok Boolean poskytuje prostor pro psaní kódu Pythonu, který vrací True nebo FalseLze jej umístit do bloků s hexagonálními vstupy.
<[] :: custom-switch>
Blok Boolean může obsahovat podmínku Pythonu.
<[robot.eye.is_object_detected()] :: custom-switch>
Booleovský blok může také používat logické operátory:
<[robot.get_button(LEFT) or robot.eye.is_object_detected()] :: custom-switch>
Blok Boolean může k porovnání hodnot používat porovnávací operátory:
Větší než:
>Menší než:
<Rovné:
==Mezi další porovnávací operátory patří
<=,!=a>=.
<[robot.eye.get_brightness()> 50] :: custom-switch>
při spuštění :: hat events
[Drive forward whenever the left button is pressed.]
navždy
pokud <[robot.get_button(LEFT)] :: custom-switch> pak
jet [dopředu v] na [200] [mm v] ▶
konec
konec
Zpravodaj#
Blok Reporter poskytuje prostor pro psaní kódu Pythonu, který vrací hodnotu. Lze jej umístit do bloků s kruhovými vstupy.
([] :: custom-switch)
Blok Reporter může obsahovat kód Pythonu, který vrací hodnotu.
([robot.eye.get_brightness()] :: custom-switch)
Matematické operátory lze použít v bloku Reporter:
([robot.eye.get_brightness() + 10] :: custom-switch)
při spuštění :: hat events
[Print the eye brightness.]
tisk ([robot.eye.get_brightness()] :: custom-switch) ▶
Čepice#
Blok Hat poskytuje prostor pro definování funkce Pythonu. Bloky připojené pod blok Hat se stanou tělem této funkce.
[] :: hat custom-switch
Do bloku Hat zadejte definici funkce Pythonu. Parametry se uvádějí v závorkách. Pokud funkce parametry nepoužívá, použijte prázdné závorky.
[def function_name(parameter):] :: hat custom-switch
[def drive_200():] :: hat custom-switch
[Define a custom function using a Hat block.]
jet [dopředu v] na (200) [mm v] ▶
při spuštění :: hat events
[drive_200()] :: custom-switch