Valdymas#

Įvadas#

„Python“ valdymas leidžia nurodyti robotui, kada laukti, kada kartoti veiksmus, kaip priimti sprendimus ir kada baigti projektą.

Žemiau pateikiamas galimų valdiklių sąrašas, įskaitant metodus ir pagrindinius „Python“ raktinius žodžius:

  • wait – Pristabdo projektą nurodytam laikui.

  • for – Kartoja kodą kiekvienam sekos elementui.

  • if – Paleidžia kodą, jei sąlyga yra teisinga.

  • if/else – Paleidžia skirtingą kodą, priklausomai nuo sąlygos.

  • if/elif/else – Tikrina kelias sąlygas iš eilės.

  • while – Kartoja kodą, kol sąlyga yra teisinga.

  • break – Nedelsiant išeina iš ciklo.

  • stop_project – Baigia vykdomą projektą.

  • pass – Vietos rezervavimo ženklas, naudojamas, kai nereikia atlikti jokių veiksmų.

laukti#

wait padaro tam tikrą laiko tarpą pauzę prieš pereinant prie kitos kodo eilutės.

Usage:
wait(time, units)

Parametrai

Aprašymas

time

Laukimo laikas, nurodytas kaip teigiamas sveikasis skaičius arba dešimtainė trupmena.

units

Laukimo laiką nurodantis vienetas: MSEC (numatytasis) – milisekundės arba SECONDS

def main():
    # Turn right for one second, then stop
    drivetrain.turn(RIGHT)
    wait(1, SECONDS)
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

už#

for pakartoja veiksmų rinkinį tam tikrą skaičių kartų. for gali būti naudojama norint cikliškai peržiūrėti sąrašų, rinkinių, žodynų, rinkinių, eilučių elementus arba tam tikrą ciklų skaičių su range.

Naudojimas:

for value in expression_list:
    pass

Komponentai

Aprašymas

value

Laikinas kintamasis, kuriame saugomas dabartinis iteracijoje esantis elementas.

expression_list

Cikle apžvelgiamų elementų rinkinys (pvz., sąrašas, eilutė, diapazonas).

def main():
    # Move in a square path
    for index in range(4):
        drivetrain.drive_for(FORWARD, 100, MM)
        drivetrain.turn_for(RIGHT, 90, DEGREES)

# VR threads — Do not delete
vr_thread(main)

def main():
    # Print each item in the list
    colors = ["Red", "Green", "Blue"]

    for color in colors:
        brain.print(color)
        brain.new_line()

# VR threads — Do not delete
vr_thread(main)

jei#

if paleidžiamas įtrauktas kodo blokas, jei sąlyga yra True.

Naudojimas:

if condition:
    pass

Komponentai

Aprašymas

condition

Išraiška arba kintamasis, kuris tikrinamas vykdant sakinį. Jei jis yra True, vykdomas kodas bloke if ; jei jis yra False, blokas praleidžiamas.

def main():
    # Turn right until facing south
    while True:
        if drivetrain.heading(DEGREES) < 180:
            drivetrain.turn_for(RIGHT, 90, DEGREES)
        wait(0.1, SECONDS)

# VR threads — Do not delete
vr_thread(main)

jei/kitaip#

if ir else nustato, kuris įtrauktas kodo blokas vykdomas, remiantis tuo, ar sąlyga yra True , ar False.

Naudojimas:

if condition:
    pass
else:
    pass

Komponentai

Aprašymas

condition

Išraiška arba kintamasis, kuris tikrinamas vykdant sakinį. Jei jis yra True, vykdomas kodas bloke if ; jei jis yra False, vietoj jo vykdomas kodas bloke else.

def main():
    # Drive after turning around
    while True:
        if drivetrain.rotation(DEGREES) < 180:
            drivetrain.turn_for(RIGHT, 90, DEGREES)
        else:
            drivetrain.drive(FORWARD)
        wait(0.1, SECONDS)

# VR threads — Do not delete
vr_thread(main)

jei/elif/kitaip#

if/elif/else struktūra parenka, kuris įtrauktas kodo blokas bus vykdomas pagal sąlygas:

  • if , vykdo savo bloką, jei sąlyga yra True.

  • elif tikrina papildomas sąlygas tik tuo atveju, jei visos ankstesnės sąlygos yra FalseGalima naudoti kelis elif teiginius.

  • else vykdo savo bloką tik tuo atveju, jei nė viena iš ankstesnių sąlygų nėra True.

Naudojimas:

if condition:
    pass
elif condition:
    pass
else:
    pass

Komponentai

Aprašymas

condition

Išraiška arba kintamasis, kuris tikrinamas vykdant sakinį. Pirmoji sąlyga, kuri yra True nustato, kuris blokas bus vykdomas; jei nė vienas nėra True, bus vykdomas else.

def main():
    # Move depending on the detected color
    while True:
        if front_eye.detect(RED):
            drivetrain.drive(FORWARD)
        elif front_eye.detect(GREEN):
            drivetrain.drive(REVERSE)
        else:
            drivetrain.turn(RIGHT)
        wait(0.1, SECONDS)

# VR threads — Do not delete
vr_thread(main)

kol#

while pakartotinai vykdo kodą tol, kol sąlyga yra TrueJi taip pat gali būti naudojama kaip „amžinai“, naudojant True kaip sąlygą, arba „laukti iki“, pridedant not prie sąlygos, kaip parodyta toliau pateiktuose pavyzdžiuose.

Naudojimas:

while condition:
    pass

Komponentai

Aprašymas

condition

Išraiška arba kintamasis, kuris tikrinamas prieš kiekvieną iteraciją. Jei jis yra True, ciklas tęsiasi; jei False, ciklas sustoja.

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

# VR threads — Do not delete
vr_thread(main)

def main():
    # Wait until an object is detected to stop driving
    drivetrain.drive(FORWARD)
    while not front_distance.found_object():
        wait(50, MSEC)
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

pertrauka#

break iš karto išeina iš ciklo. break gali būti naudojama norint išeiti iš ciklų, kurie kitu atveju kartotųsi amžinai.

def main():
    # Stop turning after a button is pressed
    while True:
        drivetrain.turn(RIGHT)
        if front_distance.found_object():
            break
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

stop_project#

stop_project užbaigia vykdomą projektą.

Usage:
stop_project()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

def main():
    # Stop the project after a button is pressed
    while True:
        drivetrain.turn(RIGHT)
        if front_distance.found_object():
            stop_program()
        drivetrain.drive(FORWARD)

# VR threads — Do not delete
vr_thread(main)

praeiti#

pass yra vietos žymeklis būsimam kodui ir gali būti naudojamas siekiant išvengti klaidų tuščiuose cikluose, sąlyginėse sąlygose ir funkcijose.

if condition:
    pass

def function():
    pass