Page 1 of 1

Module TI-Python: découverte 5 modules Python cachés !

Unread postPosted: 12 Jan 2019, 16:29
by critor
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 :
  • 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)
À côté de cela nous avons aussi plusieurs implémentations communautaires :

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 modules7 modules4 modules8 modules4 modules

D'où le classement jusqu'à aujourd'hui :
  1. Casio Graph 35/75+E avec 8 modules
  2. TI-Nspire et NumWorks avec 7 modules
  3. Casio Graph 90+E et module TI-Python pour TI-83 Premium CE avec 4 modules

100159931Sur ce critère, le module externe TI-Python pour TI-83 Premium CE apparaissait comme l'une des solutions les plus médiocres.

9994Et 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é ! :o
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. :o

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 : :bj:
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 modules7 modules4 modules8 modules9 modules

De quoi chambouler notre classement : ;)
  1. module TI-Python pour TI-83 Premium CE avec 9 modules
  2. Casio Graph 35/75+E avec 8 modules
  3. TI-Nspire et NumWorks avec 7 modules
  4. Casio Graph 90+E avec 4 modules
Le module externe TI-Python apparaît ainsi quantitativement comme la solution Python la plus complète sur calculatrices ! :bj:


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.


A bientôt pour l'exploration de ces nouveaux modules sur le TI-Python ! :D

Re: Module TI-Python: découverte 5 modules Python cachés !

Unread postPosted: 14 Jan 2019, 05:30
by Adriweb
Pour cmath par exemple, il s'agirait peut-être seulement d'activer le module à la compilation, en tout cas par défaut, CircuitPython l'a en désactivé.

Mais attention, dans la doc on peut lire "Availability: not available on WiPy and ESP8266. Floating point support required for this module."
Je pense que pour le chip ATSAMD21 ca devrait aller...