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, then stop
drivetrain.turn(RIGHT)
wait(1, SECONDS)
drivetrain.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):
    drivetrain.drive_for(FORWARD, 100, MM)
    drivetrain.turn_for(RIGHT, 90)

# Print each item in the list
colors = ["Red", "Green", "Blue"]

for color in colors:
    brain.screen.print(color)
    brain.screen.next_row()

Zrzut ekranu IQ Brain z trzema linijkami białego tekstu po lewej stronie ekranu. Pierwsza linijka jest w kolorze czerwonym, druga tuż pod nią w kolorze zielonym, a trzecia pod nią w kolorze niebieskim.

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 right when a button is pressed
while True:
    if brain.buttonCheck.pressing():
        drivetrain.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.

# Turn right when a button is pressed, and remain still
# when the button is not pressed
while True:
    if brain.buttonCheck.pressing():
        drivetrain.turn(RIGHT)
    else:
        drivetrain.stop()
    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.

# Turn depending on what button is pressed
while True:
    if brain.buttonRight.pressing():
        drivetrain.turn(RIGHT)
    elif brain.buttonLeft.pressing():
        drivetrain.turn(LEFT)
    else:
        drivetrain.stop()
    wait(0.1, 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.

# Keep the screen green while the robot is moving
drivetrain.drive_for(FORWARD, 200, MM, wait=False)
while drivetrain.is_moving():
    brain.screen.clear_screen(Color.GREEN)
    wait(50, MSEC)

brain.screen.clear_screen(Color.BLACK)

while True:
    # Move in a square path forever
    drivetrain.drive_for(FORWARD, 150, MM)
    drivetrain.turn_for(RIGHT, 90)

# Wait until a button is pressed to stop driving
drivetrain.drive(FORWARD)
while not brain.buttonCheck.pressing():
    wait(50, MSEC)
drivetrain.stop()

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ść.

# Stop turning after a button is pressed
while True:
    drivetrain.turn(RIGHT)
    if brain.buttonCheck.pressing():
        break
drivetrain.stop()
brain.play_sound(SoundType.POWER_DOWN)

zatrzymaj_program#

program_stop kończy działający projekt.

Usage:
brain.program_stop()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

# Stop the project after a button is pressed
while True:
    drivetrain.turn(RIGHT)
    if brain.buttonCheck.pressing():
        brain.program_stop()
    brain.play_sound(SoundType.POWER_DOWN)

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.

if condition:
    pass

def function():
    pass