π
<-

Graph 90/35+E II 3.30/3.40: exploration turtle + matplotlib

Graph 90/35+E II 3.30/3.40: exploration turtle + matplotlib

Unread postby critor » 14 Apr 2020, 20:49

La semaine dernière, Casio te sortait ses superbes mises à jour 3.30 et 3.40 pour ta Graph 35+E II ou Graph 90+E. Au menu des possibilités Python largement étendues avec :
  • un module casioplot permettant de contrôler les pixels de l'écran
  • un script matplotl.py interfaçant le module casioplot afin de le rendre utilisable comme le module matplotlib.pyplot standard
  • un script turtle.py interfaçant le module casioplot afin de le rentre utilisable comme le module turtle standard
Tes scripts faisant usage de ces deux derniers ont de plus le gros avantage de pouvoir être très facilement compatibles :
  • avec les plateformes implémentant les modules turtle et matplotlib.pyplot standard (ordinateur, tablette, ...) :bj:
  • aussi bien avec les Graph 90+E que les Graph 35+E II malgré leurs écrans très différents :bj:
  • et même compatibles NumWorks, non non tu ne rêves pas ! :bj:

Nous avions exploré le module casioplot et reclassé les solutions Python sur calculatrice en conséquence.

Toutefois nous n'avions pas fait de même pour les interfaces matplotl.py et turtle.py, nous contentant pour leur part de tests de compatibilité, aux résultats certes excellents.

En effet, les interfaces matplotl.py et turtle.py ont le défaut de disparaître en mode examen, et bien qu'officielles il n'aurait donc pas été juste de les inclure dans un même classement. :'(

Aujourd'hui après avoir pris le temps de réfléchir à comment traiter tout ceci de façon équitable, nous te proposons enfin nos exploration et classement, à l'aide du scrit suivant.

Code: Select all
def getplatform():
  id=-1
  try:
    import sys
    try:
      if sys.platform=='nspire':id=0
      if sys.platform.startswith('TI-Python') or sys.platform=='Atmel SAMD21':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]
plines=[29,16,  7, 9,11,0,0]
#max chars per line
#(error or CR 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("<") and s.find(" ")>=0 and not s.startswith("<module")

def explmod(pitm,pitmsl=[],reset=True):
  global curline
  if(reset):
    curline=0
    pitmsl=[sstr(pitm)]
  hd="."*(len(pitmsl)-1)
  spath=".".join(pitmsl)
  c,c2=0,0
  spitm=str(pitm)
  for itms in sorted(dir(pitm)):
    c,c2=c+1,c2+1
    try:
      itm=eval(spath+"."+itms)
      mprint(hd+itms+"="+str(itm))
      if isExplorable(itm) and itm!=pitm:
        pitmsl2=pitmsl.copy()
        pitmsl2.append(itms)
        c2=c2+explmod(itm,pitmsl2,False)[1]
    except:
      mprint(hd+itms)
  if c>0 and reset:
    mprint(hd+"Total: "+str(c)+" 1st level item(s)")
    if c2>0 and c2!=c:
      mprint(hd+"       "+str(c2)+" item(s)")
  return [c,c2]


Commençons donc par l'interface matplotl.py, avec l'appel import matplotl; explmod(matplotl).

Tu bénéficies donc ici de 25 points d'entrée :


12459On peut déjà noter quelques différences de valeurs entre les versions du script pour Graph 35+E II et Graph 90+E, l'un travaillant en effet sur un écran 128×64 pixels et l'autre 384×192 pixels.

Il faut donc éviter intervertir les deux versions du script.

Pas d'erreur sinon, tes scripts seront fonctionnels mais tu obtiendras un affichage non conforme à ton écran; en timbre poste dans le coin supérieur gauche sur Graph 90+E, ou encore illisible car débordant de l'écran sans possibilité de défilement sur Graph 35+E II.




Et maintenant voici l'exploiration de l'interface turtle.py, avec l'appel import turtle; explmod(turtle).

Bien que nettement plus court, le script offre ici dans ses deux versions pas moins de 69 points d'entrée :









Synthétisons donc enfin ces dernières nouveautés :
Casio Graph
35+E II
90+E
NumWorks
TI-83PCE
Ed. Python
builtins
array
collections
cmath
gc
math
matplotlib
matplotlib.pyplot
micropython
os
random
sys
time
turtle
uerrno
84-175
.
.
.
.
25
.
.
.
.
8
.
.
.
.
97-440
3-13
.
13-17
9-13
42-46
.
.
10-14
.
.
17-63
.
.
25-29
88-188
.
.
12
.
41
3
11
6
.
9
.
3
38
.
92-189
2-4
2
.
7
28
.
.
.
.
8
15-42
4
.
.
spécifiquecasioplot:6prime:3-7ion:48
kandinsky:6
ti_graphics:?
ti_hub:?
ti_plotlib:?
ti_system:12
ti_rover:?
Modules491113
Eléments123-214219-642265-365170-296
Casio Graph
35+E II
90+E
CasioPython
Casio Graph
35+E II
35+E/USB
75/85/95
MicroPython
TI-Nspire
TI-Python
builtins
array
collections
cmath
gc
math
matplotlib
matplotlib.pyplot
micropython
os
random
sys
time
turtle
uerrno
84-175
.
.
.
.
25
.
.
.
.
8
.
.
69
.
91-204
2-4
.
12
7
41
.
.
6
.
8
12
.
.
24
93-218
2-4
.
12
7
41
.
.
3
.
.
15-45
.
.
.
92-189
2-4
2
.
7
28
.
.
.
.
8
15-42
4
.
.
93-191
2-4
2
12
7
41
.
.
6
15
8
15-45
8-10
.
.
spécifiquecasioplot:6
matplotl:25
nsp:3-10board:22
storage:7-21
Modules698913
Eléments217-308203-318176-340158-284238-384


Et voici donc le classement à jour des Pythonnettes dans les deux catégories, en terme d'éventail puis de richesse des modules :
Aux examens français :
  1. 13 modules :
    TI-83 Premium CE Edition Python
  2. 11 modules :
    NumWorks
  3. 9 modules :
    HP Prime (version alpha)
  4. 4 modules :
    Casio Graph 35+E II
    Casio Graph 90+E
En classe :
  1. 13 modules :
    TI-Python (firmware tiers)
    TI-83 Premium CE Edition Python
  2. 11 modules :
    NumWorks
  3. 9 modules :
    HP Prime (version alpha)
    Casio Graph 35+E II
    Casio Graph 35+E/USB
    Casio Graph 75/85/95
    Casio fx-9750GII/GIII
    Casio fx-9860G/GII/GIII

    (appli CasioPython)
  4. 8 modules :
    TI-Nspire (appli MicroPython)
    TI-Python
  5. 6 modules :
    Casio Graph 35+E II
    Casio Graph 90+E
    Casio fx-9750/9860GIII
    Casio fx-CG50

Aux examens français :
  1. 219-642 éléments :
    HP Prime (version alpha)
  2. 265-365 éléments :
    NumWorks
  3. 170-296 éléments :
    TI-83 Premium CE Edition Python
  4. 123-214 éléments :
    Casio Graph 35+E II
    Casio Graph 90+E
En classe :
  1. 219-642 éléments :
    HP Prime (version alpha)
  2. 265-365 éléments :
    NumWorks
  3. 238-384 éléments :
    TI-Python (firmware tiers)
  4. 217-308 éléments :
    Casio Graph 35+E II
    Casio Graph 90+E
    Casio fx-9750/9860GIII
    Casio fx-CG50
  5. 203-318 éléments :
    Casio Graph 35+E II
    Casio Graph 35+E/USB
    Casio Graph 75/85/95
    Casio fx-9750GII/GIII
    Casio fx-9860G/GII/GIII

    (appli CasioPython)
  6. 176-340 éléments :
    TI-Nspire (appli MicroPython)
  7. 170-296 éléments :
    TI-83 Premium CE Edition Python
  8. 158-284 éléments :
    TI-Python



Liens :

Téléchargements :
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15890
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Return to News Casio

Who is online

Users browsing this forum: PerplexityBot [spider] and 4 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
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 Calculatrices à acheter chez Calcuso
-
Stats.
734 utilisateurs:
>680 invités
>43 membres
>11 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)