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 visu 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– Izpilda 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 |
|---|---|
|
Gaidīšanas laiks, kas norādīts kā pozitīvs vesels skaitlis vai decimāldaļa. |
|
Vienība, kas attēlo gaidīšanas laiku: |
# Move right for one second, then stop
robot.move_at(90)
wait(1, SECONDS)
robot.stop_all_movement()
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 |
|---|---|
|
Pagaidu mainīgais, kas saglabā pašreizējo elementu iterācijā. |
|
Elementu kopums, kas tiek cikliski apstrādāts (piemēram, saraksts, virkne, diapazons). |
# Move in a square path.
for index in range(4):
robot.move_for(50, 0)
robot.turn_for(RIGHT, 90)
# Print each item in the list
colors = ["Red", "Green", "Blue"]
for color in colors:
robot.screen.print(color)
robot.screen.next_row()

Ja#
if tiek palaists atkāpts koda bloks, ja nosacījums ir True.
Lietojums:
if condition:
pass
Sastāvdaļas |
Apraksts |
|---|---|
|
Izteiksme vai mainīgais, kas tiek pārbaudīts, izpildot priekšrakstu. Ja tas ir |
# Kick when the screen is pressed
while True:
if robot.screen.pressing():
robot.kicker.kick(MEDIUM)
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 |
|---|---|
|
Izteiksme vai mainīgais, kas tiek pārbaudīts, izpildot priekšrakstu. Ja tas ir |
# Show one emoji when the screen is pressed,
# and a different emoji when not pressed
while True:
if robot.screen.pressing():
robot.screen.show_emoji(EXCITED)
else:
robot.screen.show_emoji(BORED)
wait(0.1, SECONDS)
Ja/Elifs/Citādi#
if/elif/else struktūra atlasa, kurš atkāptais koda bloks tiks palaists, pamatojoties uz nosacījumiem:
if, palaiž savu bloku, ja nosacījums irTrue.elifpārbauda papildu nosacījumus tikai tad, ja visi iepriekšējie nosacījumi irFalseVar izmantot vairākuselifapgalvojumus.elsepalaiž savu bloku tikai tad, ja neviens no iepriekšējiem nosacījumiem navTrue.
Lietojums:
if condition:
pass
elif condition:
pass
else:
pass
Sastāvdaļas |
Apraksts |
|---|---|
|
Izteiksme vai mainīgais, kas tiek pārbaudīts, kad izpildās priekšraksts. Pirmais nosacījums, kas ir |
# Move the robot forward or reverse
# based on the position of the joystick
def when_axis_changed():
position = controller.axis1.position()
if position > 0:
robot.move_at(0)
elif position < 0:
robot.move_at(180)
else:
robot.stop_all_movement()
controller.axis1.changed(when_axis_changed)
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 |
|---|---|
|
Izteiksme vai mainīgais, kas tiek pārbaudīts pirms katras iterācijas. Ja tas ir |
# Keep the LEDs green while the robot is moving
robot.move_for(200, 0, wait=False)
while robot.is_move_active():
robot.led.on(ALL_LEDS, GREEN)
wait(50, MSEC)
robot.led.on(ALL_LEDS, BLACK)
while True:
# Continually flash all LEDs red then green.
robot.led.on(ALL_LEDS, RED)
wait(0.5, SECONDS)
robot.led.on(ALL_LEDS, GREEN)
wait(0.5, SECONDS)
# Wait until the screen is pressed before
# turning off the LEDs
while not robot.screen.pressing():
robot.led.on(ALL_LEDS, RED)
wait(50, MSEC)
robot.led.on(ALL_LEDS, BLACK)
Pārtraukums#
break nekavējoties iziet no cikla. break var izmantot, lai izietu no cikliem, kas citādi veidotu mūžīgu ciklu.
# Flash LEDs until the screen is pressed
while True:
robot.led.on(ALL_LEDS, RED)
wait(0.5, SECONDS)
robot.led.on(ALL_LEDS, GREEN)
wait(0.5, SECONDS)
if robot.screen.pressing():
break
# Turn the LEDs Off
robot.led.off(ALL_LEDS)
Apturēt programmu#
stop_program beidz darbojošos projektu.
Usage:robot.stop_program()
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
# Stop the project once the screen is pressed
while True:
robot.led.on(ALL_LEDS, RED)
wait(0.5, SECONDS)
robot.led.on(ALL_LEDS, GREEN)
wait(0.5, SECONDS)
if robot.screen.pressing():
robot.stop_program()
Pass#
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