π
<-
Chat plein-écran
[^]

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écifique
casioplot:6prime:3-7ion:48
kandinsky:6
ti_graphics:?
ti_hub:?
ti_plotlib:?
ti_system:12
ti_rover:?
Modules
4
9
11
13
Eléments
123-214
219-642
265-365
170-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écifique
casioplot:6
matplotl:25
nsp:3-10board:22
storage:7-21
Modules
6
9
8
9
13
Eléments
217-308
203-318
176-340
158-284
238-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: 9.7%
 
Posts: 36268
Images: 9889
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti
GitHub: critor

Return to News Casio

Who is online

Users browsing this forum: No registered users and 9 guests

-
Search
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Découvre les nouvelles fonctionnalités en Python de l'OS 5.2 pour les Nspire CX II
Découvre les nouvelles fonctionnalités en Python de l'OS 5.5 pour la 83PCE/84+C-T Python Edition
Omega, le fork étendant les capacités de ta NumWorks, même en mode examen !
1234
-
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 Calculatrices à acheter chez Calcuso
-
Stats.
579 utilisateurs:
>551 invités
>21 membres
>7 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)