π
<-
Chat plein-écran
[^]

importer module python (pour transformées de Laplace)

TI's micropython + modules

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

Unread postby 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 calculator info!
MyCalcs
: Aidez la communauté à documenter les calculatrices en donnant des infos sur votre calculatrice ![/url]
Inspired-Lua.org
: All about TI-Nspire Lua programming
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 58.7%
 
Posts: 13612
Images: 1101
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
Twitter: adriweb
GitHub: adriweb

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

Unread postby 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.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 33.1%
 
Posts: 2649
Joined: 13 Dec 2013, 16:35
Gender: Not specified

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

Unread postby 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 calculator info!
MyCalcs
: Aidez la communauté à documenter les calculatrices en donnant des infos sur votre calculatrice ![/url]
Inspired-Lua.org
: All about TI-Nspire Lua programming
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 58.7%
 
Posts: 13612
Images: 1101
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
Twitter: adriweb
GitHub: adriweb

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

Unread postby parisse » 28 Sep 2020, 19:08

Ok, je conserve caseval chez moi et je mets eval_native pour l'alias.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 33.1%
 
Posts: 2649
Joined: 13 Dec 2013, 16:35
Gender: Not specified

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

Unread postby 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 calculator info!
MyCalcs
: Aidez la communauté à documenter les calculatrices en donnant des infos sur votre calculatrice ![/url]
Inspired-Lua.org
: All about TI-Nspire Lua programming
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 58.7%
 
Posts: 13612
Images: 1101
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
Twitter: adriweb
GitHub: adriweb

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

Unread postby 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.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 33.1%
 
Posts: 2649
Joined: 13 Dec 2013, 16:35
Gender: Not specified

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

Unread postby 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.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 33.1%
 
Posts: 2649
Joined: 13 Dec 2013, 16:35
Gender: Not specified

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

Unread postby 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 calculator info!
MyCalcs
: Aidez la communauté à documenter les calculatrices en donnant des infos sur votre calculatrice ![/url]
Inspired-Lua.org
: All about TI-Nspire Lua programming
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 58.7%
 
Posts: 13612
Images: 1101
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
Twitter: adriweb
GitHub: adriweb

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

Unread postby 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.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 33.1%
 
Posts: 2649
Joined: 13 Dec 2013, 16:35
Gender: Not specified

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

Unread postby 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: Select all
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 :)
Attachments
eval_expr.tns
(2.83 KiB) Downloaded 35 times
Image
MyCalcs
: Help the community's calculator documentations by filling out your calculator info!
MyCalcs
: Aidez la communauté à documenter les calculatrices en donnant des infos sur votre calculatrice ![/url]
Inspired-Lua.org
: All about TI-Nspire Lua programming
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 58.7%
 
Posts: 13612
Images: 1101
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
Twitter: adriweb
GitHub: adriweb

PreviousNext

Return to Python

Who is online

Users browsing this forum: No registered users and 1 guest

-
Search
-
Social
-
Featured topics
Concours de rentrée 2021 - La Geste d'Alrys
Concours de rentrée 2021 - Synchro-donjon !
Comparaisons des meilleurs prix pour acheter sa calculatrice !
25€ remboursés par Casio sur l'achat de ta calculatrice fx-CP400 d'ici le 31 Octobre 2021
Journées APMEP 2021 à l'IUT de Bourges les 24-25 Octobre. Viens rencontrer Casio, NumWorks, TI et Vittascience.
Coque NumWorks édition limitée Octobre 2021 à gagner.
123456
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
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.
524 utilisateurs:
>508 invités
>9 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)