Contrôle#

Introduction#

Le contrôle en Python vous permet d’indiquer au robot quand attendre, quand répéter des actions, comment prendre des décisions et quand mettre fin au projet.

Vous trouverez ci-dessous une liste des contrôles disponibles, y compris les méthodes et les mots-clés principaux de Python :

  • wait – Met le projet en pause pendant une durée donnée.

  • for – Répète le code pour chaque élément d’une séquence.

  • if – Exécute le code si une condition est vraie.

  • if/else – Exécute un code différent en fonction d’une condition.

  • if/elif/else – Vérifie plusieurs conditions dans l’ordre.

  • while – Répète le code tant qu’une condition est vraie.

  • break – Sort immédiatement d’une boucle.

  • stop_project – Met fin au projet en cours.

  • pass – Espace réservé utilisé lorsqu’aucune action n’est nécessaire.

attendez#

wait fait une pause pendant une durée spécifique avant de passer à la ligne de code suivante.

Usage:
wait(time, units)

Paramètres

Description

time

Le temps d’attente, sous forme de nombre entier positif ou décimal.

units

L’unité représentant le temps d’attente : MSEC (par défaut) – millisecondes, ou 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)

pour#

for répète un ensemble d’actions un nombre spécifique de fois. for peut être utilisé pour parcourir les éléments des listes, tuples, dictionnaires, ensembles, chaînes de caractères, ou pour un nombre spécifié de boucles avec range.

Utilisation :

for value in expression_list:
    pass

Composants

Description

value

Une variable temporaire qui stocke l’élément courant de l’itération.

expression_list

La collection d’éléments parcourus en boucle (par exemple, liste, chaîne de caractères, plage).

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)

si#

if exécute le bloc de code indenté si la condition est True.

Usage:

if condition:
    pass

Composants

Description

condition

Une expression ou une variable vérifiée lors de l’exécution de l’instruction. Si sa valeur est Vrai True, le code à l’intérieur du bloc if est exécuté ; si sa valeur est Faux ( False).

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)

si/sinon#

if et else déterminent quel bloc de code indenté s’exécute en fonction de si la condition est True ou False.

Usage:

if condition:
    pass
else:
    pass

Composants

Description

condition

An expression or variable that is checked when the statement runs. If it is True, the code inside the if block executes; if it is False, the code inside the else block executes instead.

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)

si/sinon/sinon#

La structure if/elif/else sélectionne le bloc de code indenté qui s’exécute en fonction de conditions :

  • if exécute son bloc si la condition est True.

  • elif vérifie les conditions supplémentaires uniquement si toutes les conditions précédentes sont False. Plusieurs elif instructions peuvent être utilisées.

  • else exécute son bloc uniquement si aucune des conditions précédentes n’est True.

Usage:

if condition:
    pass
elif condition:
    pass
else:
    pass

Composants

Description

condition

An expression or variable that is checked when the statement runs. The first condition that is True determines which block executes; if none are True, the else block runs.

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)

alors que#

while repeatedly runs code as long as the condition is True. It can also be used like a “forever” by using True as the condition, or a “wait until” by adding not to the condition, as shown in the examples below.

Usage:

while condition:
    pass

Composants

Description

condition

Une expression ou une variable vérifiée avant chaque itération. Si elle vaut True, la boucle continue ; si elle vaut False, la boucle s’arrête.

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)

casser#

break sort immédiatement d’une boucle. break peut être utilisé pour interrompre des boucles qui, autrement, tourneraient indéfiniment.

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)

projet d’arrêt#

stop_project met fin à un projet en cours.

Usage:
stop_project()

Paramètres

Description

Cette méthode ne comporte aucun paramètre.

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)

passer#

pass est un espace réservé pour du code futur et peut être utilisé pour éviter les erreurs dans les boucles vides, les conditions et les fonctions.

if condition:
    pass

def function():
    pass