Nous allons apprendre ensemble à créer un premier script avec l'application Python de la calculatrice NumWorks.
Lorsque l'on accède à l'application, un liste de fichiers avec la terminaison .py
apparaît à l'écran. Ces fichiers sont des scripts, et ce sont eux qui vont contenir les algorithmes. Quelques scripts sont présents par défaut sur le calculatrice, il est tout à fait possible de les lire, de les modifier ou de les exécuter, mais nous allons créer notre propre script afin de bien comprendre les différentes étapes de l'écriture d'un algorithme.
Pour créer un nouveau script, on sélectionne dans l'application Python la cellule "Ajouter un script" qui se trouve en bas de la liste. Nous sommes invités à le nommer : appelons-le 'test.py'.
Un cadenas s'affiche en haut à droite de l'écran, à côté de "alpha" en minuscule, ce qui signifie que le mode alphabétique est bloqué et qu'il est possible d'écrire directement avec les touches de la calculatrice.
Lorsque le nom du script est validé (touche ok), il suffit de sélectionner 'test.py' et de valider à nouveau pour accéder à l'éditeur.
C'est dans cet éditeur que nous allons pouvoir écrire notre algorithme.
Dans un script, on peut définir des fonctions. Les fonctions sont une série d'instructions qui manipulent des variables d'entrée, et y associent des données de sortie.
Nous allons par exemple créer une fonction qui permet de calculer automatiquement la moyenne de deux nombres a et b : a et b sont les variables d'entrée, et la sortie correspond à la valeur recherchée.
Il est possible de quitter l'éditeur de script à tout moment, pour l'essayer par exemple : le contenu sera automatiquement conservé !
Pour définir une fonction, la syntaxe est essentielle :
def nom_fonction (variable1, variable2, …):
Nous allons donner à notre fonction un nom explicite. Rappelons que pour faire fonctionner cette fonction, nous avons besoin de deux variables d'entrée : a et b.
Pour écrire plus vite, l'instruction "def" est disponible dans la boîte à outils, accessible avec la touche toolbox, menu Fonctions.
En revenant à la ligne avec la touche exe, on remarque que le curseur est légèrement décalé vers la droite : c'est l'indentation.
L'indentation est essentielle dans un algorithme pour pouvoir distinguer les blocs d'instructions. Toutes les lignes de code qui appartiendront à notre fonction seront indentées afin de bien les distinguer. Cela fait partie de la syntaxe.
L'objectif de notre programme est de renvoyer la moyenne de nos deux variables. On utilise alors l'instruction "return" accompagnée de l'information que renvoie la fonction : une valeur, une variable, un calcul, une chaîne de caractères, une liste, etc…
L'instruction "return" est aussi accessible depuis la boîte à outils pour écrire plus rapidement.
A noter que l'on peut tout à fait définir plusieurs fonctions dans un même script.
Pour faire fonctionner notre programme, il faut quitter l'éditeur avec la touche back et sélectionner les points de suspension à côté du nom de notre script puis "Exécuter le script".
Notre script est alors importé et l'invite >>> signifie que nous pouvons entrer une commande.
Nous allons pouvoir appeler notre fonction en précisant les variables avec lesquelles l'appliquer.
Pour gagner du temps, il est possible d'aller chercher la fonction dans le menu variable, touche var de la calculatrice. Il ne reste plus qu'à compléter avec les valeurs souhaitées et à exécuter.
Il est possible que la calculatrice renvoie un message d'erreur en arrivant sur la console. Généralement le numéro de la ligne posant problème est indiqué et il faut vérifier que le programme ne comporte pas d'erreur.
Parmi les erreurs courantes : l'oubli de l'indentation ou des ":" à la fin de la définition de la fonction. Ceux-ci sont générés automatiquement mais il peut arriver de les effacer par mégarde.
La calculatrice NumWorks est équipée d'un certain nombre de modules, des bibliothèques de fonctions utilisées fréquemment. Pour y accéder, il faut importer le module souhaité au début du script. Le module math
contient la plupart des fonctions mathématiques nécessaires, il est importé systématiquement. Par exemple, il permet d'utiliser la fonction sqrt(x) afin de calculer une racine carrée.
Par commodité, on peut importer la totalité des fonctions du module à l'aide de l'instruction suivante : from nom_module import *
.
D'autres modules peuvent s'avérer utiles en fonction de l'objectif recherché : cmath
(nombres complexes), matplotlib
(graphiques), random
(nombres aléatoires), kandinsky
(colorer des pixels), ion
(état des touches), time
(horloge), turtle
(piloter une tortue).
Les modules et leurs fonctions sont accessibles dans la boîte à outils toolbox, menu Fonctions.
Il est possible d'écrire un script et de le tester directement en ligne en se connectant sur son compte NumWorks et en sélectionnant le menu "Mes scripts".
Vous pourrez alors créer, modifier, sauvegarder vos scripts, et pourquoi pas les partager avec vos amis ou vos élèves !
Plus d'informations sur les modules dans le manuel d'utilisation.
Pour consulter nos fiches d'activités autour de Python, cliquez ici.