Module TI-Python: exploration module time + comparaison
Posted: 19 Jan 2019, 11:42
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. Voici la liste de ces pythonnettes :
À côté de cela nous avons aussi plusieurs implémentations communautaires, qui donc à la différence ne fonctionneront pas en mode examen pour les examens 2020 :
- NumWorks avec MicroPython 1.9.4
- Casio Graph 90+E avec MicroPython 1.9.4
- HP Prime avec l'écriture Python de Xcas
À côté de cela nous avons aussi plusieurs implémentations communautaires, qui donc à la différence ne fonctionneront pas en mode examen pour les examens 2020 :
Dans sa dernière mise à jour 9.2.0 NumWorks vient de rajouter le module time, a priori une exclusivité.
Sauf que nous te révélions par la suite que le module time était déjà inclus dans le module externe TI-Python présenté au mois d'octobre aux journées APMEP à Bordeaux.
Après l'avoir donc fait sur NumWorks, explorons donc ce qu'a à offrir le module time sur le module externe TI-Python pour TI-83 Premium CE, toujours à l'aide du script suivant :
- Code: Select all
#platforms: (0)TI-Nspire (1)NumWorks (2)Graph 90+E (3)Graph 75+E (4)TI-Python
plines=[29,12, 7, 9,11]
pcols =[53,99,509,32,32]
platform=0
try:
import sys
try:
if sys.platform=='nspire': platform=0
if sys.platform=='TI-Python Adapter': platform=4
except: platform=3
except:
try:
import kandinsky
platform=1
except:
platform=2
nlines=plines[platform]
ncols=pcols[platform]
curline=0
def mprint(*ls):
global curline
st=""
for s in ls:
if not(isinstance(s,str)):
s=str(s)
st=st+s
stlines=1+int(len(st)/ncols)
if curline+stlines>=nlines:
input("Input to continue:")
curline=0
print(st)
curline+=stlines
def sstr(obj):
try:
s=obj.__name__
except:
s=str(obj)
a=s.find("'")
b=s.rfind("'")
if a>=0 and b!=a:
s=s[a+1:b]
return s
def explmod(pitm,r=False,pitmsl=[],reset=True):
global curline
if(reset):
curline=0
pitmsl=[sstr(pitm)]
hd="."*(len(pitmsl)-1)
spath=".".join(pitmsl)
c=0
for itms in sorted(dir(pitm)):
c=c+1
try:
itm=eval(spath+"."+itms)
mprint(hd+itms+"="+str(itm))
if r and spath.rfind(itms)<0:
pitmsl2=pitmsl.copy()
pitmsl2.append(itms)
c=c+explmod(itm,r,pitmsl2,False)
except:
mprint(hd+itms)
if c>0:
mprint(hd+"Total: "+str(c)+" item(s)")
return c
TI-Python wrote:>>> from explmod import *
>>> import time
>>> explmod(time)
__name__=time
monotonic=<function>
sleep=<function>
struct_time=<class 'struct_time'>
Total: 4 item(s)
4
>>>
Et bien non, malgré le petit nombre d'entrées dans les deux cas, ces deux implémentations du module time ne sont pas équivalentes :
NumWorks | TI-Python pour TI-83 Premium CE |
__name__='time' monotonic() sleep() . | __name__='time' monotonic() sleep() <struct_time> |
Total: 3 | Total: 4 |
D'où le classement suivant :
- module externe TI-Python pour TI-83 Premium CE avec 4 entrées
- NumWorks avec 3 entrées
- TI-Nspire et Casio Graph 35/75/90+E avec 0 entrée