π
<-
Chat plein-écran
[^]

importer module python (pour transformées de Laplace)

TI's micropython + modules

Re: importer module python (pour transformées de Laplace)

Message non lude Adriweb » 28 Sep 2020, 18:47

Ouai, il faut que je m'aligne sur la coding style de TI, du coup ca serait plutot eval_expr et call_func.
Mais je fais quoi pour l'alias ? (cf. mes questions dans mon post d'avant et/ou ma proposition de modification de comportement de eval_expr)
Image

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...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14605
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: importer module python (pour transformées de Laplace)

Message non lude parisse » 28 Sep 2020, 18:58

Du coup ce n'est peut-etre pas un alias qu'il faut, mais un evalnative qui teste le nombre d'arguments et ne rajoute pas () s'il n'y a pas d'arguments.
Je ne sais pas s'il faut mettre un _, c'est un peu penible a taper sur la calculatrice.
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 77.2%
 
Messages: 3499
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: importer module python (pour transformées de Laplace)

Message non lude Adriweb » 28 Sep 2020, 19:04

En fait toutes les fonctions de ti utilisent ca.
Pour obtenir _ c'est juste Ctrl-Espace.
Image

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...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14605
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: importer module python (pour transformées de Laplace)

Message non lude parisse » 28 Sep 2020, 19:08

Ok, je conserve caseval chez moi et je mets eval_native pour l'alias.
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 77.2%
 
Messages: 3499
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: importer module python (pour transformées de Laplace)

Message non lude Adriweb » 28 Sep 2020, 19:31

eval_expr, plutôt, alors.

(apres, ya aussi expr() en natif ti-basic, mais bref).
Le pendant Nspire-lua c'est math.eval et math.evalStr pour ne pas avoir de conversion de type.
Image

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...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14605
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: importer module python (pour transformées de Laplace)

Message non lude parisse » 28 Sep 2020, 19:36

J'ai mis eval_native, parce que ce n'est pas forcement une expression, c'est vraiment un appel a l'evaluateur natif. Et puis, j'ai deja tout recompile, ca prend du temps.
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 77.2%
 
Messages: 3499
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: importer module python (pour transformées de Laplace)

Message non lude parisse » 28 Sep 2020, 19:43

En plus eval_native ca sous-entend qu'on va voir ailleurs que dans Python, ce qui n'est pas le cas de eval_expr.
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 77.2%
 
Messages: 3499
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: importer module python (pour transformées de Laplace)

Message non lude Adriweb » 28 Sep 2020, 19:45

Je rajouterai un alias de compat, un de plus, on n'est plus à ca pret :P
Image

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...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14605
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: importer module python (pour transformées de Laplace)

Message non lude parisse » 28 Sep 2020, 21:06

Ok, j'ai modifie le nom de commande (caseval -> eval_native) dans le menu rapide et dans la doc.
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 77.2%
 
Messages: 3499
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: importer module python (pour transformées de Laplace)

Message non lude Adriweb » 29 Sep 2020, 00:37

Nouvelle version avec les TODO mentionnés avant corrigés, puis support de remplacement de certains symboles (sqrt, pi, e, i complexe), auto str->num, eval python optionnelle...



Code: Tout sélectionner
from math import sqrt, pi, e

def _return_number_if_possible(s):
  try:
    f = float(s)
    return int(f) if int(f) == f else f
  except ValueError:
    return s

def _return_evaled_if_possible(thing):
  try:
    return eval("("+str(thing)+")")
  except:
    return thing

def _cleanstr(res):
  res = res[1:-1]  # to remove the quotes
  res = res.replace("*\uf02f", "j")  # complex i
  res = res.replace("\uf02f", "j")  # complex i
  res = res.replace("\u221a", "sqrt")
  res = res.replace("\u03c0", "pi")
  res = res.replace("\uf03f", "e")
  res = _return_number_if_possible(res)  # auto type...
  return res

def eval_expr(expr, trypyeval=False):
  from ti_system import writeST, readST
  writeST("tmppy_", 'strsub(string('+str(expr)+'),"/","$%$")')  # eval and store
  res = readST("tmppy_")  # retrieve stored value
  res = res.replace("$%$", "/")  # magic replacement
  res = _cleanstr(res)
  if trypyeval == True:
    res = _return_evaled_if_possible(res)
  return res

def call_func(funcname, *pyargs):
  fargs = ','.join(map(str, pyargs))
  expr = funcname + '(' + fargs + ')'
  res = eval_expr(expr)
  return res if res != expr else None

# Aliases for compat with other stuff
caseval = eval_expr
eval_native = eval_expr


Merci de tester :)
Fichiers joints
eval_expr.tns
(2.83 Kio) Téléchargé 47 fois
Image

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...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14605
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

PrécédenteSuivante

Retourner vers Python

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1928 utilisateurs:
>1913 invités
>10 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)