Skip to main content

Leçon 2 : Actions répétitives

Maintenant que le robot VR a dessiné un carré sur le Art Canvas Playground à l'aide du stylo, vous apprendrez à utiliser les boucles pour et à simplifier votre projet. Cette leçon vous guidera à travers les étapes pour dessiner un carré sur le Art Canvas Playground en utilisant une boucle pour.

Art Canvas Playground avec un carré noir dessiné dessus. Le robot VR est positionné au centre de l'aire de jeux, dans le coin inférieur gauche de la place.

Résultats d'apprentissage

  • Identifiez comment utiliser une boucle pour pour répéter les commandes à l'intérieur de celle-ci pendant un nombre défini de fois.
  • Identifiez que la boucle pour inclut une variable « valeur » et une fonction de plage  pour identifier le nombre de répétitions. 
  • Identifiez que la fonction plage d'une boucle pour identifie combien de fois la boucle doit se répéter.
  • Identifiez que la fonction plage d'une boucle pour peut accepter des entiers comme paramètres.
  • Décrivez pourquoi une boucle pour serait utilisée dans un projet.
  • Décrivez le flux d’un projet qui contient une boucle pour.

Renommer le projet

  • Si le projet de la leçon précédente n'est pas déjà chargé, chargez le projet Unit3Lesson1.
  • Renommez le projet en sélectionnant la zone de nom de projet.
    Barre d'outils VR avec la zone de nom du projet en surbrillance. Le nom dans la boîte est Unité 3 Leçon 1.
  • Saisissez le nouveau nom du projet Unit3Lesson2, puis sélectionnez Enregistrer.
    Barre d'outils VR avec la boîte de dialogue du nom du projet ouverte. Le projet a été renommé Unité 3 Leçon 2, et le bouton Enregistrer est mis en surbrillance avec une case rouge.

Actions répétées

La boucle pour est utilisée pour répéter les commandes qu'elle contient un nombre défini de fois. La boucle pour permet d'économiser du temps et des efforts lors de la création de projets où les commandes se répètent. Plutôt que de prendre le temps de faire glisser ou de taper commandes supplémentaires ou de dupliquer des commandes existantes dans l'espace de travail, la boucle pour peut être utilisée pour économiser de l'espace et du temps.

Ce projet utilisera une boucle pour pour amener le robot VR à dessiner les quatre côtés d'un carré en répétant les commandes pour dessiner un côté, quatre fois.

  • Commencez par modifier le projet précédent, copiez le projet ci-dessous ou créez un nouveau projet correspondant à ce projet de base. 
def main() :
	pen.move(DOWN)
	drivetrain.drive_for(FORWARD, 600, MM)
	drivetrain.turn_for (RIGHT, 90, DEGRÉS)
	drivetrain.drive_for (FORWARD, 600, MM)
	drivetrain.turn_for (RIGHT, 90, DEGRÉS)
	drivetrain.drive_for (FORWARD, 600, MM)
	drivetrain.turn_for (RIGHT, 90, DEGRÉS)
	drivetrain.drive_for (FORWARD, 600, MM)
	drivetrain.turn_for(RIGHT, 90, DEGRÉS)

 

  • Les commandes répétées dans ce projet sont les commandes drive_for et turn_for . Supprimez les six commandes du bas du projet, de sorte qu'il ne reste qu'une seule commande drive_for et une seule commande turn_for sous la commande move , et le projet ressemble à ceci : 

    def main() :
        pen.move(DOWN)
        drivetrain.drive_for(AVANT, 600, MM)
        drivetrain.turn_for(DROITE, 90, DEGRÉS)
  • Faites glisser une boucle pour jusqu'à la fin de la fonction principale , de sorte que votre projet ressemble à ceci. Notez que la boucle pour remplira automatiquement une commande wait à l'intérieur. Ne supprimez pas la commande wait , cela garantira que le robot VR se comporte correctement.

    def main() :
        pen.move(DOWN)
        drivetrain.drive_for(FORWARD, 600, MM)
        drivetrain.turn_for(RIGHT, 90, DEGREES)
    
        for repeat_count in range(10) :
            wait(5, MSEC)
  • Pour que la boucle pour répète les commandes Drivetrain pour dessiner un côté du carré, ces commandes doivent être dans la boucle pour , ce qui est indiqué par une indentation. Ajoutez deux lignes entre la boucle for et la commande wait pour faire de la place pour les commandes Drivetrain. Le même projet que ci-dessus, avec deux lignes d'espace ajoutées entre la commande for et la commande wait.
  • Ensuite, pour déplacer les commandes Drivetrain à l'intérieur de la boucle pour , copiez et collez les commandes sous l'en-tête de boucle pour , mettez en surbrillance les commandes et faites glisser les commandes drive_for et turn_for entre l'en-tête de boucle et la commande wait , ou copiez-les et collez-les à partir du projet ci-dessous.
def main() :
	pen.move(BAS)
	
	pour la valeur dans la plage(10)
		: 		drivetrain.drive_for (AVANT, 600, MM
		) 		drivetrain.turn_for (DROITE, 90, DEGRÉS)
		wait(5, MSEC)
  • Assurez-vous que les commandes à l'intérieur de la boucle pour sont correctement indentées, en utilisant la ligne grise à gauche comme guide indiquant quelles commandes se trouvent dans la boucle pour

Pour votre information

L'indentation est très importante en Python. L'indentation des commandes détermine la manière dont un projet est exécuté. Dans le cas d'une boucle pour , les commandes en retrait à l'intérieur seront exécutées dans le cadre de la boucle. Vous pouvez utiliser les lignes à gauche des commandes, comme guides visuels pour la façon dont les commandes sont regroupées dans une boucle. 

Le projet vu d'en haut, avec le texte Ligne "directrice" et flèche pointant vers la ligne gris clair qui indique l'indentation correcte des commandes dans une boucle for. Un crochet rouge autour des trois dernières commandes indique qu'elles sont uniformément indentées et alignées dans la boucle for.

Des erreurs d'indentation peuvent affecter le flux de votre projet et faire en sorte que votre projet ne fonctionne pas comme prévu. Un manque d'indentation ou une indentation inégale, comme indiqué ici, doivent être évités afin que votre code fonctionne comme prévu.

Deux exemples courants d'indentation incorrecte dans une boucle for côte à côte, avec de grands x rouges sur eux pour souligner qu'ils sont incorrects. Le projet à gauche est le projet de cette leçon, mais il n'y a pas d'indentation dans la boucle for. Le projet de droite est le projet de cette leçon, mais avec les trois commandes du bas, toutes indentées à des degrés différents.

VEXcode VR peut vous inviter à résoudre les erreurs d'indentation avant de pouvoir exécuter votre projet. Ces erreurs peuvent être identifiées dans la Print Console, afin que vous puissiez facilement résoudre le problème et exécuter votre projet.Le projet de cette leçon est montré à gauche. La console d'impression dans VEXcode VR est affichée à droite, avec un message d'erreur rouge faisant référence à un retrait inattendu affiché à droite. Une grande flèche rouge s'étend du message d'erreur à la ligne du projet contenant l'erreur.

 

 

  • Maintenant que les commandes Drivetrain pour dessiner un côté du carré sont dans la boucle, le paramètre de la fonction range peut être défini. Pour dessiner un carré, il faut dessiner quatre côtés. Pour répéter les commandes quatre , définissez le paramètre de la fonction range dans l'en-tête de boucle for sur « 4 » afin qu'un robot VR dessine les quatre côtés d'un carré.
    Le projet de cette leçon, avec le paramètre de la fonction range dans la boucle for, est passé de 10 à 4.

Pour votre information

La fonction range dans l'en-tête de boucle for peut accepter des entiers. Les décimales (ou flottants) ne fonctionneront pas comme paramètre pour une boucle pour . Le paramètre par défaut pour la fonction plage est « 10 ». 

Pour la commande de boucle avec l'entier 10 dans le paramètre.
  • Sélectionnez le bouton « Ouvrir Playground » pour ouvrir le Art Canvas Playground s’il n’est pas déjà ouvert et démarrez le projet.
    VEXcode VR Toolbar avec le bouton Open Playground en haut à droite surligné d'une case rouge.
  • Regardez le robot VR avancer et tourner à droite quatre fois sur la toile d'art Playground pour dessiner un carré avec le stylo.

    Art Canvas Playground avec un carré noir dessiné dessus. Le robot VR est positionné au centre de l'aire de jeux, dans le coin inférieur gauche de la place.

Sélectionnez le bouton Suivant pour continuer le reste de cette leçon.