Kontrola#
Wstęp#
Sterowanie w Pythonie pozwala Ci powiedzieć robotowi, kiedy ma czekać, kiedy powtórzyć działania, 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 |
|---|---|
|
Czas oczekiwania, wyrażony jako dodatnia liczba całkowita lub ułamek dziesiętny. |
|
Jednostka reprezentująca czas oczekiwania: |
# Build Used: Super Code Base 2.0
def main():
# Turn right for one second
drivetrain.turn(RIGHT)
wait(1, SECONDS)
drivetrain.stop()
# Start threads — Do not delete
start_thread(main)
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 |
|---|---|
|
Tymczasowa zmienna przechowująca bieżący element iteracji. |
|
Zbiór elementów podlegających pętli (np. lista, ciąg znaków, zakres). |
# Build Used: Super Code Base 2.0
def main():
# Move in a square path
for index in range(4):
drivetrain.drive_for(FORWARD, 100, MM)
drivetrain.turn_for(RIGHT, 90)
# Start threads — Do not delete
start_thread(main)
Jeśli#
if uruchamia wcięty blok kodu, jeśli warunek wynosi True.
Stosowanie:
if condition:
pass
Komponenty |
Opis |
|---|---|
|
Wyrażenie lub zmienna sprawdzana podczas wykonywania instrukcji. Jeśli wynosi |
# Build Used: Super Code Base 2.0
def main():
# Turn when the bumper is pressed
while True:
if bumper.is_pressed():
drivetrain.turn_for(RIGHT, 90)
wait(0.1, SECONDS)
# Start threads — Do not delete
start_thread(main)
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 |
|---|---|
|
Wyrażenie lub zmienna sprawdzana podczas wykonywania instrukcji. Jeśli wartość wynosi |
# Build Used: Super Code Base 2.0
def main():
# Turn when the bumper is pressed
while True:
if bumper.is_pressed():
drivetrain.turn(RIGHT)
else:
drivetrain.stop()
wait(0.1, SECONDS)
# Start threads — Do not delete
start_thread(main)
jeśli/elif/w przeciwnym razie#
Struktura if/elif/else wybiera, który wcięty blok kodu zostanie uruchomiony na podstawie warunków:
ifuruchamia swój blok, jeśli warunek jestTrue.elifsprawdza dodatkowe warunki tylko wtedy, gdy wszystkie poprzednie warunki są fałszyweFalse. Można użyć wielu instrukcjielif.elseuruchamia blok tylko wtedy, gdy żaden z poprzednich warunków nie jest spełnionyTrue.
Stosowanie:
if condition:
pass
elif condition:
pass
else:
pass
Komponenty |
Opis |
|---|---|
|
Wyrażenie lub zmienna sprawdzana podczas wykonywania instrukcji. Pierwszy warunek, który wynosi |
# Build Used: Super Code Base 2.0
def main():
# Change the LED while turning
drivetrain.turn(RIGHT)
while True:
if drivetrain.get_heading() < 120:
bumper.set_color(OFF)
elif drivetrain.get_heading() < 240:
bumper.set_color(RED)
else:
bumper.set_color(GREEN)
wait(0.2, SECONDS)
# Start threads — Do not delete
start_thread(main)
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 |
|---|---|
|
Wyrażenie lub zmienna sprawdzana przed każdą iteracją. Jeśli wynosi |
# Build Used: Super Code Base 2.0
def main():
# Turn when the bumper is pressed
while True:
if bumper.is_pressed():
drivetrain.turn(RIGHT)
else:
drivetrain.stop()
wait(0.1, SECONDS)
# Start threads — Do not delete
start_thread(main)
# Build Used: Super Code Base 2.0
def main():
# Turn the other direction when the bumper is pressed
drivetrain.turn(LEFT)
while not bumper.is_pressed():
wait(0.2, SECONDS)
drivetrain.turn(RIGHT)
# Start threads — Do not delete
start_thread(main)
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. |
# Build Used: Super Code Base 2.0
def main():
# Stop turning after pressing the bumper
while True:
drivetrain.turn(RIGHT)
if bumper.is_pressed():
break
wait(0.2, SECONDS)
drivetrain.stop()
bumper.set_color(RED)
# Start threads — Do not delete
start_thread(main)
zatrzymaj_program#
stop_program kończy działający projekt.
Usage:stop_program()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# Build Used: Super Code Base 2.0
def main():
# Stop the project after pressing the bumper
while True:
drivetrain.turn(RIGHT)
if bumper.is_pressed():
break
wait(0.2, SECONDS)
stop_program()
# Start threads — Do not delete
start_thread(main)
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