Nombre de visites sur cette page : 57532 Score au progrank : 103 Note actuelle : 8.8/10 noté 5 fois Vous devez être connecté(e) pour noter (inscription).
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)
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
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)
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
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)
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
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
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.
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