Kontrola#

Wstęp#

Sterowanie w Pythonie pozwala Ci powiedzieć robotowi, kiedy ma czekać, kiedy powtórzyć czynności, jak podejmować decyzje i kiedy zakończyć projekt.

Poniżej znajduje się lista dostępnych kontrolek, zawierająca metody i podstawowe słowa kluczowe języka Python:

  • wait – Wstrzymuje projekt na określony czas.

  • for – Powtarza kod dla każdego elementu w sekwencji.

  • if – Uruchamia kod, jeśli warunek jest prawdziwy.

  • if/else – uruchamia inny kod w zależności od warunku.

  • if/elif/else – Sprawdza wiele warunków w kolejności.

  • while – Powtarza kod, dopóki warunek jest spełniony.

  • break – Natychmiast opuszcza pętlę.

  • stop_program – Kończy działający program.

  • pass – Symbol zastępczy używany, gdy nie jest wymagana żadna akcja.

Czekać#

wait zatrzymuje się na określony czas przed przejściem do następnego wiersza kodu.

Usage:
wait(time, units)

Parametry

Opis

time

Czas oczekiwania, wyrażony jako dodatnia liczba całkowita lub ułamek dziesiętny.

units

Jednostka reprezentująca czas oczekiwania: MSEC (domyślnie) – milisekundy lub SECONDS

# Turn right for one second
robot.turn(RIGHT)
wait(1, SECONDS)
robot.stop()

Do#

for powtarza zestaw działań określoną liczbę razy. for można stosować do pętli po elementach na listach, krotkach, słownikach, zestawach, ciągach znaków lub do wykonania określonej liczby pętli z range.

Użycie:

for value in expression_list:
    pass

Komponenty

Opis

value

Tymczasowa zmienna przechowująca bieżący element iteracji.

expression_list

Zbiór elementów podlegających pętli (np. lista, ciąg znaków, zakres).

# Move in a square path
for index in range(4):
    robot.drive_for(FORWARD, 1, STEPS)
    robot.turn_for(RIGHT, 90)

Jeśli#

if uruchamia wcięty blok kodu, jeśli warunek wynosi True.

Stosowanie:

if condition:
    pass

Komponenty

Opis

condition

Wyrażenie lub zmienna sprawdzana podczas wykonywania instrukcji. Jeśli wynosi True, wykonywany jest kod wewnątrz bloku if ; jeśli wynosi False, blok jest pomijany.

# Turn when the Move button is pressed
while True:
    if robot.get_button(MOVE):
        robot.turn_for(RIGHT, 90)
    wait(0.1, SECONDS)

jeśli/w przeciwnym razie#

if i else określa, który wcięty blok kodu zostanie uruchomiony na podstawie tego, czy warunek jest True lub False.

Stosowanie:

if condition:
    pass
else:
    pass

Komponenty

Opis

condition

Wyrażenie lub zmienna sprawdzana podczas wykonywania instrukcji. Jeśli wartość wynosi True, wykonywany jest kod wewnątrz bloku if ; jeśli wartość wynosi False, wykonywany jest kod wewnątrz bloku else.

# Drive while no button is pressed, stop when one is
while True:
    if robot.get_button(MOVE):
        robot.stop()
    else:
        robot.drive(FORWARD)
    wait(0.1, SECONDS)

jeśli/elif/w przeciwnym razie#

Struktura if/elif/else wybiera, który wcięty blok kodu zostanie uruchomiony na podstawie warunków:

  • if uruchamia swój blok, jeśli warunek jest True.

  • elif sprawdza dodatkowe warunki tylko wtedy, gdy wszystkie poprzednie warunki są fałszywe False. Można użyć wielu instrukcji elif.

  • else uruchamia blok tylko wtedy, gdy żaden z poprzednich warunków nie jest spełniony True.

Stosowanie:

if condition:
    pass
elif condition:
    pass
else:
    pass

Komponenty

Opis

condition

Wyrażenie lub zmienna sprawdzana podczas wykonywania instrukcji. Pierwszy warunek, który wynosi True określa, który blok zostanie wykonany; jeśli żaden z nich nie ma wartości True, uruchamiany jest blok else.

# Change the LED color based on heading while turning
robot.turn(RIGHT)
while True:
    if robot.get_heading() < 120:
        robot.led.glow(OFF)
    elif robot.get_heading() < 240:
        robot.led.glow(BLUE)
    else:
        robot.led.glow(GREEN)
    wait(0.2, SECONDS)

chwila#

while powtarza kod, dopóki warunek jest TrueMożna go również używać jako „forever”, używając True jako warunku, lub jako „wait until”, dodając not do warunku, jak pokazano w poniższych przykładach.

Stosowanie:

while condition:
    pass

Komponenty

Opis

condition

Wyrażenie lub zmienna sprawdzana przed każdą iteracją. Jeśli wynosi True, pętla jest kontynuowana; jeśli wynosi False, pętla się zatrzymuje.

# Drive while no button is pressed, stop when one is
while True:
    if robot.get_button(MOVE):
        robot.stop()
    else:
        robot.drive(FORWARD)
    wait(0.1, SECONDS)

# Wait until the Move button is pressed before driving
while not robot.get_button(MOVE):
    wait(0.2, SECONDS)
robot.drive_for(FORWARD, 1, STEPS)

przerwa#

break powoduje natychmiastowe wyjście z pętli. break może zostać użyte do opuszczenia pętli, która w przeciwnym razie działałaby w nieskończoność.

Użycie:

break

Parametry

Opis

To słowo kluczowe nie ma żadnych parametrów.

# Stop driving after pressing the Move button
while True:
    robot.drive(FORWARD)
    if robot.get_button(MOVE):
        break
    wait(0.2, SECONDS)
robot.stop()

zatrzymaj_program#

stop_program kończy działający projekt.

Usage:
stop_program()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

# Stop the project after pressing the Move button
while True:
    robot.drive(FORWARD)
    if robot.get_button(MOVE):
        break
    wait(0.2, SECONDS)
stop_program()

przechodzić#

Przebieg pass jest symbolem zastępczym dla przyszłego kodu i można go używać w celu uniknięcia błędów w pustych pętlach, warunkach i funkcjach.

Użycie:

pass

Parametry

Opis

To słowo kluczowe nie ma żadnych parametrów.

if condition:
    pass

def function():
    pass