Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.
Menu
Calculatrices
Graph 35 à 100
Graph 25+Pro/25+E/25+E II
Graph 35+USB/75(+E)/85/95 SD
Graph 100(+)
Classpad 300/330(+)
fx-CG 10/20 (Prizm)
Classpad 400(+E)
Graph 90+E
fx-92+ SC
Liens
¤ Transférer un programme sur
sa calculatrice

¤ Vous cherchez une fonction ?
Utilitaires >> Graph 35+USB/75(+E)/85/95 SD >> Add-ins >> CasioPython
CasioPython
Version : 1.6 Taille : 271000 octets Ajouté le : 2018-08-01 01:27 Modifié le : 2019-09-26 20:44
Auteur et posteur :
ZezombyeHors ligneRédacteurPoints: 1756 Défis: 13 Message
Planète Casio - Add-in Casio - CasioPython - zezombye - Calculatrices
Nombre de visites sur cette page : 58197
Score au progrank : 103
Note actuelle : 8.8/10 noté 5 fois
Vous devez être connecté(e) pour noter (inscription).
12397 téléchargements | Soumettre un test

Ce programme est sous licence GPL 3.0.


Ce programme a été récompensé pour sa qualité par le label Planète Casio.

A cause du changement de processeur des nouvelles Graph 35+ USB, 75 et 95 SD, de nombreux addins sont incompatibles avec ces calculatrices.
Rendre un addin compatible - Plus d'informations sur ce problème - Liste des addins compatibles

Description :

Port de MicroPython pour calculatrices monochromes (Graph 75(+E), Graph 35(+E) tweakée, Graph 85, Graph 95 SD).

J'ai besoin de votre aide pour débugger. Signalez moi tout bug concernant :

- L'exécution du programme (si ça crashe lors du lancement du programme, lors de l'entrée dans le shell, etc)
- L'éditeur de texte (curseur qui va n'importe où, presse-papier qui fait des bugs, etc)
- Le shell (en particulier lorsque ça approche la limite, qui est définie à 2000)

Bugs connus :
- On ne peut pas sauvegarder un programme vide
- Impossible de quitter le shell pendant l'exécution d'un programme (attention aux boucles infinies)

Topic : https://www.planet-casio.com/Fr/forums/lecture_sujet.php?id=15140&page=last#152951
Sources : https://github.com/Zezombye/casiopy


Note sur 10 Commentaire Date de notation
9un rajout d'un mode graphique et tout sera parfait :)Le 10.06.2019 à 09:50
8Phyton sur Casio , super , ça m'evite de tout vérifier à la main.Le 17.02.2019 à 18:17
10G E N I U SLe 17.11.2019 à 16:16
8Presque parfait mais on ne peut pas quitter le shell pendant un programme donc faut faire gaffeLe 28.11.2019 à 18:35
9Très pratique au lycée quand on n'a pas de calculatrice récente sous la main, merci :)Le 29.04.2021 à 20:10

Commentaires :

Pages: Précédente | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34 | Suivante

ItytHors ligneMembrePoints: 216 Défis: 0 Message
Posté le 27-11-2018 à 17:28 | #
Salut super programme mais j'ai repéré 2 bugs pour l'instant (je crois) :
-dans une classe la méthode __add__() fonctionne avec l'opérateur + mais pas la méthode __mul__() avec l'opérateur * à tester en tout cas chez moi ça marche pas.
-le raccourci "t/ex" écrit seulement "except :".
En espérant que cela ne vienne pas de moi
ZezombyeHors ligneRédacteurPoints: 1756 Défis: 13 Message
Posté le 27-11-2018 à 18:37 | #
- Je dois avouer que j'ai aucune idée de ce que sont ces méthodes, ni d'où vient le bug tu pourrais poster ton code et ce qu'il est censé faire ?

- Corrigé, merci pour tes tests
ItytHors ligneMembrePoints: 216 Défis: 0 Message
Posté le 28-11-2018 à 10:46 | #
Ces méthodes permettent d'utiliser "+" et les autres opérateurs dans l'interpréteur avec des instances de classe, ce qui va appeler les fonctions adéquates par exemple :
faire :
a+b
équivaut à faire :
a.__add__(b)

https://openclassrooms.com/fr/courses/235344-apprenez-a-programmer-en-python/233046-les-methodes-speciales

voilà je peux pas avoir accès à mon code pour l'instant mais c'est vraiment une classe très simple. J'espère que j'ai été clair, bonne chance et merci pour la deuxième correction
ZezombyeHors ligneRédacteurPoints: 1756 Défis: 13 Message
Posté le 28-11-2018 à 17:38 | #
Version 1.5 :
- Correction d'un bug de menu avec le raccourci try/except
- Ajout des fonctions math et cmath manquantes
- Ajout des opérateurs de classe manquants (du coup ton problème de __mul__() devrait être résolu)
CritorHors ligneAdministrateurPoints: 2714 Défis: 18 Message
Posté le 28-11-2018 à 23:42 | #
Peut-être une régression.

Le script suivant plante violemment en version 1.5, mais pas en version 1.4 :
#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]
try:
  import sys
  try:
    if sys.platform=='nspire': platform=0
    if sys.platform=='TI-Python Adapter': platform=4
    platform=0
  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[s.find("'")+1:s.rfind("'")]
  return s

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 spath.rfind(itms)<0:
        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


ZezombyeHors ligneRédacteurPoints: 1756 Défis: 13 Message
Posté le 29-11-2018 à 06:07 | #
Bizarre ça, pourtant tout ce que j'ai fait c'est juste ajouter des #define

Ou alors ton script provoque un bug dans le shell qui était déjà là mais qui ne se faisait pas avec la 1.4 parce qu'il y avait pas assez de modules... à voir, mais je sens que ce projet va au delà de mes capacités
Breizh_craftEn ligneModérateurPoints: 1172 Défis: 7 Message
Posté le 29-11-2018 à 09:31 | #
Il est au-delà de tes capacités depuis la première seconde, je crois

C'est ta spécialité, ce genre de projets, non ?
LephenixnoirHors ligneAdministrateurPoints: 24700 Défis: 170 Message
Posté le 29-11-2018 à 09:37 | #
Rooh, pas la peine de basher autant, c'est peut-être pas codé proprement partout mais c'est quand même du beau boulot, ce port. Très beau.
Breizh_craftEn ligneModérateurPoints: 1172 Défis: 7 Message
Posté le 29-11-2018 à 09:39 | #
C'est pas du bashing… il l'a lui même ajouté dans sa signature la première qu'on lui a dit. Mais sinon, oui, c'est franchement bien joué d'avoir réussi à porter Python sur nos bonnes vieilles monochromes.
ItytHors ligneMembrePoints: 216 Défis: 0 Message
Posté le 29-11-2018 à 13:23 | #
Merci pour la correction je vais installer la MàJ de suite.

Pages: Précédente | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34 | Suivante

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 49 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd