Salut à tous,
j’ai codé un RPN en Python, avec interface graphique semblable à celle qu’on avait à l’époque d’Omega.
Deux modes :
– pile dynamique, avec affichage des niveaux numérotés, huit à l’écran, mais taille illimitée (par défaut) ;
– pile fixe, avec niveaux s’appelant X, Y, Z, et T, ce dernier conservant toujours sa dernière valeur.
En mode dynamique, possibilité de sélectionner des niveaux de la pile pour copier en tête de pile (PICK) ou pour effacer de la tête au niveau sélectionné (DROP n)
La touche [boite à outils] ouvre un menu pour rappeler quelques touches d’accès rapide.
ROLL possible dans les deux sens (avec [shift]) et éventuellement pour un nombre restreint d’éléments de la pile, à passer en paramètre avant d’effectuer le roulement.
Les affichages des résultats sont avec des entiers si possible, malgré des calculs effectués en Python avec flottants.
Émulateur : https://my.numworks.com/python/xanderleadaren/rpn
Code ouvert et feuille de route : https://github.com/XanderLeaDaren/numwo ... ain/rpn.py
À vous pour les retours !
Appli graphique de RPN (en Python !)
7 posts
• Page 1 of 1
Appli graphique de RPN (en Python !)
Last edited by XanderLeaDaren on 09 Jan 2025, 10:13, edited 1 time in total.
-
XanderLeaDaren
Niveau 2: MI2 (Membre Initié)- Posts: 3
- Joined: 26 Nov 2024, 19:07
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Enseignant
- GitHub: XanderLeaDaren
Re: RPN en Python !
Merci pour le partage
Bizarrement le simulateur du site de NumWorks reste bloqué.
Un screenshot?
Bizarrement le simulateur du site de NumWorks reste bloqué.
Un screenshot?
MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)My calculator programs
Mes programmes pour calculatrices
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 14765
- Images: 1119
- Joined: 01 Jun 2007, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: adriweb
- GitHub: adriweb
Re: RPN en Python !
Oui, je ne comprends pas non plus pourquoi on ne peut pas faire fonctionner le programme sur leur site.
Piste : c’est peut-être parce que je teste les appuis sur [shift] pour certaines fonctions, et ça doit interdire la saisie de chiffres ?
Piste : c’est peut-être parce que je teste les appuis sur [shift] pour certaines fonctions, et ça doit interdire la saisie de chiffres ?
-
XanderLeaDaren
Niveau 2: MI2 (Membre Initié)- Posts: 3
- Joined: 26 Nov 2024, 19:07
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Enseignant
- GitHub: XanderLeaDaren
Re: RPN en Python !
Pour une raison que j'ignore, le simulateur Python en ligne est très loin d'avoir des équivalents clavier pour l'ensemble des codes de touches getkey de la NumWorks.
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 42069
- Images: 16365
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: Appli graphique de RPN (en Python !)
Je continue de temps à autre à améliorer le code, ajouter des fonctionnalités, corriger des bugs.
(1er message de ce fil mis à jour)
L’émulateur sur my.numworks.com ne veut toujours pas fonctionner, mais je compte (quand ??) réaliser des petites vidéos pour présenter l’« appli », et surtout ce qu’est la NPI, quand j’aurai finalisé quelques fonctionnalités que je souhaite encore implémenter.
(1er message de ce fil mis à jour)
L’émulateur sur my.numworks.com ne veut toujours pas fonctionner, mais je compte (quand ??) réaliser des petites vidéos pour présenter l’« appli », et surtout ce qu’est la NPI, quand j’aurai finalisé quelques fonctionnalités que je souhaite encore implémenter.
-
XanderLeaDaren
Niveau 2: MI2 (Membre Initié)- Posts: 3
- Joined: 26 Nov 2024, 19:07
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Enseignant
- GitHub: XanderLeaDaren
Re: Appli graphique de RPN (en Python !)
Merci @XanderLeaDaren ! J'adore l'affichage minimaliste, on s'y retrouve tout de suite et la bonne surprise est de voir quelques fonctionnalités supplémentaires dans la boite à outils.
De plus j'aime bien les 2 affichages XYZT /dynamique et le clin d'oeil aux HP financières avec l'utilisation de "(" et ")" pour manipuler la pile (Et 💕 pour nROLL)
Peut-être faudrait-il voir pour ces 2 problèmes qui font sortir du programme :
- gérer les erreurs du type division par 0
- lorsque l'on appuie sur la boite à outils et que machinalement on appuie sur ↩ pour revenir à l'écran principal...
De plus j'aime bien les 2 affichages XYZT /dynamique et le clin d'oeil aux HP financières avec l'utilisation de "(" et ")" pour manipuler la pile (Et 💕 pour nROLL)
Peut-être faudrait-il voir pour ces 2 problèmes qui font sortir du programme :
- gérer les erreurs du type division par 0
- lorsque l'on appuie sur la boite à outils et que machinalement on appuie sur ↩ pour revenir à l'écran principal...
-
cirekraft
Niveau 4: MC (Membre Confirmé)- Posts: 31
- Joined: 19 Nov 2018, 17:53
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: Schraf
Re: Appli graphique de RPN (en Python !)
J'ai vu qu'un message de division par 0 apparait suite à une mise à jour. Comme a priori il peut y avoir un tas d'autres erreurs mathématiques (log ou racine carrée d'un nombre négatif etc.), peut-être qu'un message "Math error" suffirait ? Genre try + except dans le "evaluate1" :
- Code: Select all
def evaluate1(operation):
global entry, stack, lastx
try:
if not entry and stack:
lastx = stack[0]
stack[0] = python_int(operation(stack[0]))
elif entry:
lastx = entry
stack.insert(0,python_int(operation(float(entry))))
entry = ""
display()
except:error("Math error")
-
cirekraft
Niveau 4: MC (Membre Confirmé)- Posts: 31
- Joined: 19 Nov 2018, 17:53
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: Schraf
7 posts
• Page 1 of 1
Return to Programmation Python
Who is online
Users browsing this forum: No registered users and 1 guest