Module TI-Python: découverte 5 modules Python cachés !
Posted: 12 Jan 2019, 16:29
A la rentrée 2019 le Python sera le seul langage de programmation préconisé pour l'enseignement de l'algorithmique au lycée en Seconde et Première.
Plusieurs calculatrices graphiques intègrent déjà une implémentation Python officielle dans leur dernière mise à jour, plus ou moins complète, fidèle et réussie selon le cas :
Dans sa dernière mise à jour 9.2.0 NumWorks vient de rajouter le module time, apparemment une exclusivité.
Précisons toutefois qu'il s'agit d'un module caché : il est bien importable mais n'apparaît pas dans les menus.
Ce qui fait que niveau modules importables dans tes scripts Python, si tu as bien suivi nos divers articles jusqu'à présent, nous en étions restés à ceci :
D'où le classement jusqu'à aujourd'hui :
Plusieurs calculatrices graphiques intègrent déjà une implémentation Python officielle dans leur dernière mise à jour, plus ou moins complète, fidèle et réussie selon le cas :
- NumWorks avec MicroPython 1.9.4
- Casio Graph 90+E avec MicroPython 1.9.4
- HP Prime avec l'écriture Python de Xcas
- le module externe TI-Python pour TI-83 Premium CE avec CircuitPython (dérivé de MicroPython)
- TI-Nspire avec MicroPython 1.4.6
- Casio Graph 90+E avec l'écriture Python de KhiCAS
- Casio Graph 35+E/75+E avec MicroPython 1.9.4
Dans sa dernière mise à jour 9.2.0 NumWorks vient de rajouter le module time, apparemment une exclusivité.
Précisons toutefois qu'il s'agit d'un module caché : il est bien importable mais n'apparaît pas dans les menus.
Ce qui fait que niveau modules importables dans tes scripts Python, si tu as bien suivi nos divers articles jusqu'à présent, nous en étions restés à ceci :
NumWorks | Casio Graph 90+E | module TI-Python pour TI-83 Premium CE | ||
__main__ builtins array cmath gc . math . sys . | __main__ builtins . cmath . kandinsky math random . time | __main__ builtins . . . . math random . . | __main__ builtins array cmath gc . math random sys . | __main__ builtins . . . . math random . . |
7 modules | 7 modules | 4 modules | 8 modules | 4 modules |
D'où le classement jusqu'à aujourd'hui :
- Casio Graph 35/75+E avec 8 modules
- TI-Nspire et NumWorks avec 7 modules
- Casio Graph 90+E et module TI-Python pour TI-83 Premium CE avec 4 modules
Sur ce critère, le module externe TI-Python pour TI-83 Premium CE apparaissait comme l'une des solutions les plus médiocres.
Et bien non, NumWorks n'est pas le seul à ne pas lister tous les modules dans les menus. Lors des journées APMEP nous avons remarqué avec le module TI-Python qu'il était possible d'importer le module sys pourtant non listé !
Il y avait donc matière à creuser...
En analysant dans les jours suivants nos photos de l'exploration du module builtins, nous avons remarqué l'existence d'une fonction
Nous sommes donc retournés la semaine suivante au congrès UdPPC entre autres pour pouvoir l'exécuter et n'avons pas été déçus, arrivant à obtenir la liste de tous les modules importables, dont notamment le module time comme sur NumWorks :
Voici donc notre tableau comparatif actualisé :
De quoi chambouler notre classement :
Il y avait donc matière à creuser...
En analysant dans les jours suivants nos photos de l'exploration du module builtins, nous avons remarqué l'existence d'une fonction
help()
, bizarrement reportée en double, mais absente de toutes les autres implémentations calculatrices. Nous sommes donc retournés la semaine suivante au congrès UdPPC entre autres pour pouvoir l'exécuter et n'avons pas été déçus, arrivant à obtenir la liste de tous les modules importables, dont notamment le module time comme sur NumWorks :
TI-Python wrote:>>> help()
To list built-in modules please do `help("modules")`.
>>> help("modules")
__main__ collections random
array gc sys
builtins math time
Plus any modules on the filesystem
>>>
Voici donc notre tableau comparatif actualisé :
NumWorks | Casio Graph 90+E | module TI-Python pour TI-83 Premium CE | ||
__main__ builtins array . cmath gc . math . sys . | __main__ builtins . . cmath . kandinsky math random . time | __main__ builtins . . . . . math random . . | __main__ builtins array . cmath gc . math random sys . | __main__ builtins array collections . gc . math random sys time |
7 modules | 7 modules | 4 modules | 8 modules | 9 modules |
De quoi chambouler notre classement :
- module TI-Python pour TI-83 Premium CE avec 9 modules
- Casio Graph 35/75+E avec 8 modules
- TI-Nspire et NumWorks avec 7 modules
- Casio Graph 90+E avec 4 modules
Le module TI-Python serait fort utile au BAC 2019 pour les candidats dont les enseignants n'ont pas attendu les nouveaux programmes avant de tout faire en Python.
Mais nous ne sommes à ce jour pas sûrs que le module TI-Python soit autorisé aux épreuves écrites du BAC 2019.
En effet, la circulaire encore en application suite au report du mode examen indique que les calculatrices doivent avoir un "fonctionnement autonome". Cela a déjà interprété dans les consignes distribuées dans chaque académie aux surveillants par une "interdiction des modules externes".
Or l'implication n'est pas évidente, le fonctionnement autonome pouvant simplement être compris en terme d'alimentation.
L'interdiction des modules externes n'étant donc pas mentionnée clairement dans les textes publiquement accessibles aux candidats, il serait bienvenu d'en sortir une clarification d'ici les épreuves 2019.
Mais nous ne sommes à ce jour pas sûrs que le module TI-Python soit autorisé aux épreuves écrites du BAC 2019.
En effet, la circulaire encore en application suite au report du mode examen indique que les calculatrices doivent avoir un "fonctionnement autonome". Cela a déjà interprété dans les consignes distribuées dans chaque académie aux surveillants par une "interdiction des modules externes".
Or l'implication n'est pas évidente, le fonctionnement autonome pouvant simplement être compris en terme d'alimentation.
L'interdiction des modules externes n'étant donc pas mentionnée clairement dans les textes publiquement accessibles aux candidats, il serait bienvenu d'en sortir une clarification d'ici les épreuves 2019.
A bientôt pour l'exploration de ces nouveaux modules sur le TI-Python !