Kontrole#

Ievads#

Vadība Python valodā ļauj norādīt robotam, kad gaidīt, kad atkārtot darbības, kā pieņemt lēmumus un kad beigt projektu.

Zemāk ir pieejamo vadības elementu saraksts, tostarp metodes un galvenie Python atslēgvārdi:

  • wait — Aptur projektu uz noteiktu laiku.

  • for — Atkārto kodu katram elementam secībā.

  • if — Palaiž kodu, ja nosacījums ir patiess.

  • if/else — Izpilda atšķirīgu kodu atkarībā no nosacījuma.

  • if/elif/else — Pārbauda vairākus nosacījumus pēc kārtas.

  • while — Atkārto kodu, kamēr nosacījums ir patiess.

  • break — Nekavējoties iziet no cikla.

  • stop_program — Beidz darbojošos programmu.

  • pass — Vietturis, ko izmanto, ja darbība nav nepieciešama.

pagaidiet#

wait ietur noteiktu pauzi pirms pāriešanas uz nākamo koda rindu.

Usage:
wait(time, units)

Parametri

Apraksts

time

Gaidīšanas laiks, kas norādīts kā pozitīvs vesels skaitlis vai decimāldaļa.

units

Vienība, kas attēlo gaidīšanas laiku: MSEC (pēc noklusējuma) – milisekundes vai SECONDS

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

priekš#

for atkārto darbību kopu noteiktu reižu skaitu. for var izmantot, lai cikliski pārskatītu vienumus sarakstos, kortežos, vārdnīcās, kopās, virknēs vai noteiktu ciklu skaitu ar range.

Lietojums:

for value in expression_list:
    pass

Sastāvdaļas

Apraksts

value

Pagaidu mainīgais, kas saglabā pašreizējo elementu iterācijā.

expression_list

Elementu kopums, kas tiek cikliski apstrādāts (piemēram, saraksts, virkne, diapazons).

# 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()

IQ Brain ekrāna ekrānuzņēmums ar trim balta teksta rindām ekrāna kreisajā pusē. Pirmajā rindā ir rakstīts sarkans, otrajā tieši zem tā ir rakstīts zaļš, bet trešajā zem tā ir rakstīts zils.

ja#

if tiek palaists atkāpts koda bloks, ja nosacījums ir True.

Lietojums:

if condition:
    pass

Sastāvdaļas

Apraksts

condition

Izteiksme vai mainīgais, kas tiek pārbaudīts, izpildot priekšrakstu. Ja tas ir True, tiek izpildīts kods blokā if ; ja tas ir False, bloks tiek izlaists.

# Turn right when a button is pressed
while True:
    if brain.buttonCheck.pressing():
        drivetrain.turn_for(RIGHT, 90)
    wait(0.1, SECONDS)

ja/citādi#

if un else nosaka, kurš atkāptais koda bloks tiek palaists, pamatojoties uz to, vai nosacījums ir True vai False.

Lietojums:

if condition:
    pass
else:
    pass

Sastāvdaļas

Apraksts

condition

Izteiksme vai mainīgais, kas tiek pārbaudīts, izpildot priekšrakstu. Ja tas ir True, tiek izpildīts kods blokā if ; ja tas ir False, tā vietā tiek izpildīts kods blokā 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)

ja/elif/cits#

if/elif/else struktūra atlasa, kurš atkāptais koda bloks tiks palaists, pamatojoties uz nosacījumiem:

  • if , palaiž savu bloku, ja nosacījums ir True.

  • elif pārbauda papildu nosacījumus tikai tad, ja visi iepriekšējie nosacījumi ir FalseVar izmantot vairākus elif apgalvojumus.

  • else palaiž savu bloku tikai tad, ja neviens no iepriekšējiem nosacījumiem nav True.

Lietojums:

if condition:
    pass
elif condition:
    pass
else:
    pass

Sastāvdaļas

Apraksts

condition

Izteiksme vai mainīgais, kas tiek pārbaudīts, kad izpildās priekšraksts. Pirmais nosacījums, kas ir True nosaka, kurš bloks tiks izpildīts; ja neviens nav True, tiks izpildīts bloks, kas ir 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)

kamēr#

while atkārtoti palaiž kodu, kamēr nosacījums ir TrueTo var izmantot arī kā “uz visiem laikiem”, izmantojot True kā nosacījumu, vai kā “gaidīt līdz”, pievienojot nosacījumam not , kā parādīts tālāk sniegtajos piemēros.

Lietojums:

while condition:
    pass

Sastāvdaļas

Apraksts

condition

Izteiksme vai mainīgais, kas tiek pārbaudīts pirms katras iterācijas. Ja tas ir True, cikls turpinās; ja tas ir False, cikls apstājas.

# 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()

pārtraukums#

break nekavējoties iziet no cikla. break var izmantot, lai izietu no cikliem, kas citādi veidotu mūžīgu ciklu.

# 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)

apturēšanas_programma#

program_stop beidz darbojošos projektu.

Usage:
brain.program_stop()

Parametri

Apraksts

Šai metodei nav parametru.

# 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)

caurlaide#

pass daļa ir vietturis nākotnes kodam, un to var izmantot, lai izvairītos no kļūdām tukšos ciklos, nosacījumos un funkcijās.

if condition:
    pass

def function():
    pass