7. Parcourir - tuple

Dans ce chapitre, nous allons découvrir le concept très important de la séquence. Ce concept s’appelle tuple en langage Python ou n-uplet en français. Une séquence est un regroupement d’objets, par exemple de couleurs, de distances ou d’angles. Ce qui est très intéressant, c’est que nous pouvons parcourir les valeurs d’une séquence l’une après l’autre avec une boucle. Nous allons voir que :

  • la structure (10, 20, 10) représente une séquence (tuple),

  • dans la boucle for x in (10, 20, 10): la variable x parcourt des nombres,

  • dans la boucle for x in ('red', 'blue'): la variable x parcourt des couleurs.

Question

En informatique, un tuple est




Auparavant nous avons vu la boucle for comme une simple répétition. Nous avons répété x fois exactement les mêmes instructions pour chaque tour. Dans ce chapitre la boucle for est différente dans le sens que nous parcourons une séquence et nous utilisons une valeur différente pour chaque tour. En Python, cette idée de parcourir une séquence et d’utiliser une valeur successive à chaque tour, est un concept fondamental.

7.1. Parcourir des couleurs

Pour dessiner de multiples couleurs, nous pouvons définir une séquence (tuple) de couleurs et parcourir cette séquence. En Python, une séquence est délimitée par des parenthèses () et les éléments sont séparés par une virgule.

Dans l’expression for x in (...), la variable x va prendre à tour de rôle les valeurs dans la séquence. Dans l’exemple ci-dessous, x prendra successivement les valeurs : 'yellow', 'cyan', 'red', etc. Le bloc indenté qui suit la ligne for sera répété autant de fois que la séquence contient d’éléments.

La fonction write(x) utilise l’option d’alignement align='center' pour centrer le nom de la couleur.

Exercice : Modifiez la séquence des couleurs.

7.2. Parcourir des diamètres

Nous pouvons également parcourir une séquence de nombres et ainsi, spécifier une série de diamètres de disques.

Exercice : Modifiez la séquence des diamètres.

7.3. Parcourir des distances

Dans le chapitre Définir nous avons vu les fonctions batiment() et porte() avec 8 lignes pour chaque définition de fonction.

À l’aide d’une séquence, nous pouvons écrire ces fonctions de manière bien plus compacte.

Exercice : Placez la porte à l’intérieur du bâtiment et coloriez-la en rouge.

7.4. Parcourir des angles

Nous allons reprendre notre fonction maison() et, à l’aide d’une séquence, nous pouvons l’écrire de manière bien plus compacte. Cette fois-ci, la séquence représente des angles, donc nous nommons notre variable a pour nous rappeler que c’est un angle.

Exercice : Ajoutez une porte et une fenêtre à la maison.

7.5. Maisons en couleurs

Dans l’exemple nous allons d’abord parcourir une séquence d’angles avec une variable d’itération a pour dessiner une maison.

Ensuite, nous allons parcourir une séquence de couleurs avec une variable c pour dessiner des maisons de différentes couleurs.

Exercice : Changez les couleurs des maisons.

7.6. Drapeau LGBT

Le drapeau arc-en-ciel, ou également appelé le drapeau de la paix, est un drapeau représentant plusieurs bandes ayant les couleurs d’un arc-en-ciel. L’usage du drapeau arc-en-ciel est une ancienne tradition commune à de nombreuses cultures. Il évoque généralement la paix, la diversité sexuelle et de genre, ainsi que l’harmonie entre les individus dans le monde entier.

Aujourd’hui, le drapeau arc-en-ciel est majoritairement connu comme celui de la communauté lesbienne, gay, bisexuelle, transgenre (abréviation : LGBT), depuis 1978.

7.7. Fleur

Ci-dessous nous dessinons 6 fois un losange pour obtenir une fleur. Avec une boucle for nous parcourons une séquence de 6 couleurs alternantes.

Exercice : Il manque un pétale, corrigez le programme.

7.8. Smiley

Dans cet exemple nous allons parcourir différentes diamètres de la bouche à l’aide d’une variable que nous appelons d. Voici quatre smileys avec différentes formes de bouche.

Exercice : Faites varier un autre paramètre, par exemple la distance des yeux, ou la taille d’un œil.

7.9. Cube 3D

Avec trois losanges, nous pouvons dessiner un cube en 3D.

7.10. Cube en couleur

Avec l’utilisation de trois couleurs, l’effet 3D est accentué. Nous choisissons des couleurs claires pour les surfaces du haut, et des couleurs sombres pour les surfaces vers le bas.

Exercice : Tournez le cube de 30°.

7.11. Pavage du plan

Un pavage du plan est un ensemble de portions du plan, par exemple des polygones, dont l’union est le plan tout entier, sans recouvrement.

7.12. Cube de Rubik

Pour dessiner un cube de Rubik, nous dessinons

  • 3 losanges pour former une ligne,

  • 3 lignes pour former une surface,

  • 3 surfaces pour former un cube.

Dans chaque fonction (losange, ligne, surface) nous retournons au point de départ.

7.13. Minecraft

Minecraft est un jeu vidéo de type aventure bac à sable développé par le Suédois Markus Persson, puis par la société Mojang Studios, sorti en 2011. Il s’agit d’un univers composé de voxels.

Cube de base

Le voxel (mot créé en contractant volume et element) est à la 3D ce que le pixel est à la 2D.

Stratégie

Le dessin d’un cube commence au centre. Pour aligner ou empiler des blocs, il faut trouver le déplacement vers le prochain bloc, en suivant les 3 axes principaux du cube. Ici nous nous déplaçons un cube en avant avec forward(-50).

Aligner

Le programme suivant aligne 3 blocs pour former une rangée.

Empiler

Ce programme empile 3 blocs pour former une colonne.

Ici nous utilisons un déplacement vers le haut.

left(60)
forward(50)
right(60)

Avant de dessiner un bloc, l’orientation de la tortue doit être rétablie.

7.14. Exercices

  • Téléchargez un exercice.

  • Éditez-le dans un éditeur.

  • Déposez-le sur Moodle.

Minecraft - escalier

Avec les cubes de Minecraft, créez un escalier avec 4 marches.

Minecraft - portail

Avec les cubes de Minecraft, créez un portail 4x4 en forme de π.

Pavage hexagonal

Le pavage hexagonal est, en géométrie, un pavage du plan euclidien constitué d’hexagones réguliers.

pavage

Parcourez les 3 couleurs pour dessiner une surface tricolore, soit alignée linéairement, soit autour d’un point commun. Répétez ensuite cette surface élémentaire pour créer un pavage.

Cube de Rubik

À l’aide de tuples de couleurs, dessinez le cube de Rubik suivant.

pavage

Tetris

Le jeu vidéo Tetris est un puzzle conçu par l’informaticien russe Alekseï Pajitnov en 1984. Tetris met le joueur au défi de réaliser des lignes complètes en déplaçant des pièces de formes différentes, les tétrominos, qui défilent du haut jusqu’au bas de l’écran.

../_images/tetris.png

Les éléments de base d’un tétromino mesurent 20 × 20 pixels. Il existe 7 formes de tétrominos, qui sont nommés d’après les lettres auxquels ils ressemblent :

  • S

  • L

  • O (carré)

  • Z

  • I (bâton)

  • J

  • T

Cette fois, utilisez :

  • une séquence d’angles pour définir un tétromino,

  • un point (dot) pour marquer l’origine du tétromino,

  • une séquence de fonctions pour parcourir les tétrominos.