π
<-
Chat plein-écran
[^]

TI-Python : handshake et autres modules spécifiques

:32ti73: :32ti73e: :32ti73e2: :32ti76f: :32ti80: :32ti81: :32ti82: :32ti85: :32ti86: :32ti82s: :32ti82sf: :32ti82sfn: :32ti83: :32ti83p: :32ti83pb: :32ti83pr: :32ti83pfr: :32ti83pse: :32ti84p: :32ti84pse: :32ti84ppse: :32ti84pfr: :32ti84pcse: :32ti83pfrusb: :32ti82p: :32ti82a: :32ti84pce: :32ti83pce:
Online

TI-Python : handshake et autres modules spécifiques

Unread postby critor » 30 Jan 2019, 18:07

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, qui à la différence ne fonctionneront pas en mode examen en 2020 :

Ces diverses implémentations ne sont pas équivalentes et diffèrent dans l'éventail de modules qu'elles proposent.

Aussi comme nous l'avons déjà vu, ces implémentations diffèrent également par le contenu proposé dans chaque module.
Nous avons en effet déjà comparé les modules , , , , ,
sys
,
array
,
collections
et
gc
.

Voici un petit récapitulatif des modules disponibles sur chaque implémentation avec le nombre d'entrées offertes à chaque fois :
NumWorks
Casio
Graph 90+E
module externe
TI-Python
pour
TI-83 Premium CE
builtins218188175204190
array444
collections2
cmath121212
gc777
math4141254128
random8888
sys151215
time34
spécifique
?
(nsp)
?
(kandinsky)
?
(handshake)
Modules
7
6
3
7
9
Éléments
297+
252+
208
288
258+


D'où à date le classement suivant :
  1. avec
    7
    modules et plus de
    297
    entrées
  2. avec
    7
    modules et
    288
    entrées
  3. module externe
    TI-Python
    pour
    TI-83 Premium CE
    avec
    9
    modules et plus de
    258
    entrées
  4. NumWorks
    avec
    6
    modules et plus de
    252
    entrées
  5. Casio Graph 90+E
    avec
    3
    modules et
    208
    entrées

Un classement bien évidemment non final, puisque basé sur la comparaison d'une partie des modules.

Aujourd'hui poursuivons avec la comparaison des modules
Python
spécifiques à certains implémentations:
  • kandinsky
    pour le dessin sur
    NumWorks
  • nsp
    pour le dessin et le clavier sur
    TI-Nspire
  • et le mystérieux
    handshake
    sur le module externe
    TI-Python

Pour cela, utilisons le script suivant :
Code: Select all
#platforms:
#0: MicroPython / TI-Nspire
#1: MicroPython / NumWorks
#2: MicroPython / G90+E
#3: MicroPython / G35+E/USB / G75/85/95
#4: CircuitPython / TI-Python / 83PCE
#5: Xcas / HP Prime
#6: KhiCAS / Graph 90+E
def getplatform():
  id=-1
  try:
    import sys
    try:
      if sys.platform=='nspire':id=0
      if sys.platform=='TI-Python Adapter':id=4
    except:id=3
  except:
    try:
      import kandinsky
      id=1
    except:
      try:
        if chr(256)==chr(0):id=5+(not ("HP" in version()))
      except:
        id=2
  return id
 
platform=getplatform()
#lines shown on screen
plines=[29,12,  7, 9,11,0,0]
#max chars per line
#(error or new line if exceeded)
pcols =[53,99,509,32,32,0,0]

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 isExplorable(obj):
  s=str(obj)
  return s.startswith("<module '") or s.startswith("<class '")

def explmod(pitm,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 isExplorable(itm):
        pitmsl2=pitmsl.copy()
        pitmsl2.append(itms)
        c=c+explmod(itm,pitmsl2,False)
    except:
      mprint(hd+itms)
  if c>0:
    mprint(hd+"Total: "+str(c)+" item(s)")
  return c

Le module
nsp
spécifique aux
TI-Nspire
nous révèle
10
éléments.

Le module
kandinsky
spécifique à la
NumWorks
nous révèle
5
éléments.

Enfin, voici ci-dessous une reconstitution de ce que le module externe
TI-Python
devrait afficher à partir de nos observations d'octobre dernier :
TI-Python wrote:>>> from EXPLMOD import *
>>> import handshake
>>> explmod(handshake)
__file__=handshake.py
__name__=handshake
_print=<function>
print=<function>
Total: 4 item(s)
4


Il semble donc s'agir d'un module redéfinissant la fonction print(), peut-être pour que son affichage se produise bien sur l'écran de la calculatrice
TI-83 Premium CE
qui, rappelons-le, n'est techniquement pas la machine exécutant les scripts puisque c'est le processeur du module externe
TI-Python
qui s'en charge.
Il sera intéressant d'en consulter le code, ce que nous n'avons pas pu faire la dernière fois. ;)

Suite à cela, mettons à jour notre petit récapitulatif :
NumWorks
Casio
Graph 90+E
module externe
TI-Python
pour
TI-83 Premium CE
builtins218188175204190
array444
collections2
cmath121212
gc777
math4141254128
random8888
sys151215
time34
spécifique
10
(nsp)
5
(kandinsky)
4
(handshake)
Modules
7
6
3
7
9
Éléments
307
257
208
288
262


Voici donc enfin le classement final de la richesse des différentes implémentations
Python
sur calculatrices: :bj:
  1. avec
    7
    modules et
    307
    entrées
  2. avec
    7
    modules et
    288
    entrées
  3. module externe
    TI-Python
    pour
    TI-83 Premium CE
    avec
    9
    modules et
    262
    entrées
  4. NumWorks
    avec
    6
    modules et
    257
    entrées
  5. Casio Graph 90+E
    avec
    3
    modules et
    208
    entrées
Enfin final jusqu'à-ce que l'un ou l'autre des constructeurs se décide à nous rajouter de nouveaux modules. ;)
Image
User avatar
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 93.9%
 
Posts: 32632
Images: 8517
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Online

Re: TI-Python : handshake et autres modules spécifiques

Unread postby critor » 02 Mar 2019, 19:58

Pas de module handshake sur le TI-Python en version 3.0.0.12.

Ou alors ils l'ont recodé sous une autre forme...
Ou alors il n'est créé que dans le contexte d'une connexion avec une calculatrice compatible, ce que nous n'avons pas encore.
Image
User avatar
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 93.9%
 
Posts: 32632
Images: 8517
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti


Return to News TI-z80 (TI-73, 76, 80, 81, 82, 83, 84, 85, 86)

Who is online

Users browsing this forum: No registered users and 5 guests

-
Search
-
Featured topics
Offre TI-Planet/Jarrety pour avoir la TI-83 Premium CE avec son chargeur pour 79,79€ port inclus !
Offre TI-Planet/Jarrety pour avoir la TI-Nspire CX CAS à seulement 130€ TTC port inclus!
Jailbreake ta TI-Nspire avec Ndless et profite des meilleurs jeux et applications !
123
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...

Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety 
-
Stats.
347 utilisateurs:
>336 invités
>7 membres
>4 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)