Exercice : Liste déroulante

Programme 1

Sélectionner Nouveau dans la barre de menu pour créer un nouveau programme puis enregistrer le fichier sous le nom programme1.py dans un dossier pertinent de son espace personnel sur le réseau pédagogique.

Saisir dans l'éditeur de texte le code ci-dessous en respectant bien l'indentation c'est-à-dire l'espacement par rapport à la marge de gauche. Enregistrer le programme avec la combinaison de touches CTRL + S.

1
from microbit import *
2
3
display.show("Hello World!")

Pour transférer le programme sur la carte, cliquer sur Flasher.

Lors de chaque téléversement la mémoire Flash contenant le programme exécuté par la carte est réinitialisée.

Question

Décrire l'effet du programme sur la carte. Une interaction est-elle possible ?

Préciser le rôle de chaque instruction.

Indice

La première ligne :

1
from microbit import *

... demande à MicroPython de récupérer tout ce dont il a besoin pour fonctionner avec le micro:bit BBC.

Tout cela se trouve dans un module appelé microbit (un module est une bibliothèque de code préexistant).

Quand on importe quelque chose, on dit à MicroPython que l'on veut l'utiliser, et * est la façon qu'a Python de dire « tout » .

Donc, en français, « je veux pouvoir tout utiliser depuis la bibliothèque de code microbit ».

Indice

La deuxième ligne :

1
display.scroll("Hello, World!")

... indique à MicroPython d'utiliser l'affichage pour faire défiler la chaîne de caractères « Hello, World! ».

La partie display de cette ligne est un objet du module microbit qui représente l'affichage physique du périphérique (on dit « objet »).

Nous pouvons dire à l'affichage de faire les choses avec un point . suivi de ce qui ressemble à une commande (en fait, c'est ce que nous appelons une méthode ).

Dans ce cas, nous utilisons la méthode show.

Puisque show doit savoir quels caractères afficher sur l'affichage physique, nous les spécifions entre guillemets " entre les parenthèses ( et ).

Ce sont les arguments.

Ainsi, "display.show("Hello, World!")" signifie, en français, "Je veux que tu utilises l'écran pour afficher le texte "Hello, World!"".

Si une méthode n'a pas besoin d'arguments on utilisant des parenthèses vides comme ceci : ().

Programme 2

Créer un nouveau programme sous le nom programme2.py dans un dossier pertinent de son espace personnel sur le réseau pédagogique.

Cette fois, on souhaite non plus afficher successivement les lettres du texte mais plutôt faire défiler le texte.

Se référer à l'aide mémoire sur les principales commandes d'affichage de la matrice LED.

Question

Modifier le programme précédent pour faire défiler le texte

Transférer le programme sur la carte.

Indice

Pour cela, il faut utiliser la méthode display.scroll("Texte").

Solution

1
from microbit import *
2
3
display.scroll("Hello World!")

Question

Modifier le message pour afficher "Bienvenue au Lycée TURGOT!".

Indice

Voici un indice, il faut changer l'argument de la méthode de défilement.

display.scroll(string, delay=400) : affiche une chaîne de caractères (string, du texte) en défilement avec une certaine vitesse (delay, plus le délai est grand, moins le texte défilera rapidement) ;

Question

Modifier le programme pour que défile, lentement, le texte "Objets connectés".

Indice

Il suffit d'augmenter le "délai". Par défaut la valeur est de 150. Ainsi, le code suivant :

1
display.scroll("Coucou")
2

... est équivalent au code suivant :

1
display.scroll("Coucou",delay=150)

Solution

1
from microbit import *
2
3
display.scroll("Objets connectés",delay=400)