Page 1 of 2

Inclure CAS dans un programme PYTHON ???

PostPosted: 07 May 2021, 16:28
by nadirboum
Pour le calcul de la primitive de la fonction LN, j'ai inclus une partie en CAS dans un programme python avec son ouverture #cas et fermeture #end. Je vois qu'il ne reconnait pas la fonction.
Pour les 5 premières lignes du code ça marche bien, en "cas" ???
Est-ce qu'il y a une erreur ou un manque dans le code ?

Image

Image

Image

Re: Inclure CAS dans un programme PYTHON ???

PostPosted: 07 May 2021, 16:31
by critor
Bonjour.

Je peux me tromper, mais il me semble :
  • que dans l'éditeur de programmes on peut tout faire : HPPPL, CAS, Python, ou application
  • mais que dans l'éditeur Python, on ne peut faire que du Python

Re: Inclure CAS dans un programme PYTHON ???

PostPosted: 07 May 2021, 17:37
by nadirboum
J'ai lu dans la mise à jour 2.1.14575 publiée le 03.05.2021 ce qui suit :

"Venons-en à la révolution. L'éditeur de programmes gérait par défaut le langage HPPPL (HP Prime Programming Language).

Mais il permettait également de gérer le langage Xcas. Les blocs en langage Xcas étaient à encadrer de balises #cas et #end.
Le langage Xcas pouvait utiliser 2 syntaxes : la syntaxe historique de Xcas ainsi qu'une syntaxe proche du Python."

J'ai pas bien compris ?

Re: Inclure CAS dans un programme PYTHON ???

PostPosted: 07 May 2021, 17:56
by Hamza.S
je ne connais pas grand chose mais en aucun cas ton texte ne parle de python

Re: Inclure CAS dans un programme PYTHON ???

PostPosted: 07 May 2021, 18:08
by nadirboum
C'est le texte qui est écrit dans : portal.php
viewtopic.php?p=261004#p261004

Peut être que j'ai mal interprété.

Re: Inclure CAS dans un programme PYTHON ???

PostPosted: 07 May 2021, 18:29
by critor
Je suis désolé si j'ai manqué de clarté, mais je confirme :
  • l'éditeur de programmes accessible via
    Shift
    1
    gère tous les langages : HPPPL par défaut, CAS entre balises #CAS .... #end, Python entre balises #PYTHON ... #end, et applications
  • l'éditeur dédié accessible via
    Symb
    dans l'application Python ne gère que le langage Python, et les éventuels appels au HPPPL ou CAS doivent donc passer par un hpprime.eval(...) ou un cas.caseval(...)

Re: Inclure CAS dans un programme PYTHON ???

PostPosted: 07 May 2021, 18:48
by nadirboum
Merci de votre éclaircissement.

Re: Inclure CAS dans un programme PYTHON ???

PostPosted: 19 Aug 2021, 00:15
by rentech7289
Le message dit que ln n'est pas définie en ligne 7. La fonction 'ln' n'existe pas en pur python: c'est 'log', et le logarithme décimal s'écrit log10... En conséquence:
Code: Select all
from math import*

def ln(x):
    return log(x)

Par contre, il n'est pas possible de redéfinir la fonction log pour le logarithme décimal...
Je ne connais pas la HP-Prime mais au vu de la page:
https://tiplanet.org/forum/viewtopic.php?p=261004#p261004
Le code diffère de celui illustré dans la section "La partie "9) Python : Appels HPPPL / CAS - import hpprime + import cas". Les lignes 6 à 9 m'ont l'air inutiles. Il s'agit de saisies dans le shell sans message d'erreur, il suffit de récupérer les résultats des fonctions utilisées comme aux lignes 3 à 5.

Re: Inclure CAS dans un programme PYTHON ???

PostPosted: 21 Aug 2021, 16:11
by nadirboum
Le python de HP Prime est à compléter et à améliorer. Pas mal de bugs.

Re: Inclure CAS dans un programme PYTHON ???

PostPosted: 21 Aug 2021, 16:18
by Adriweb
De quel python tu parles? Et de quels bugs?

Si c'est celui intégré au moteur CAS, c'est un simili-python, donc normal que tout ne soit pas exactement pareil.
Mais si c'est l'application python depuis la mise à jour récente, c'est un moteur MicroPython comme les autres calculatrices, en gros. Donc le langage en lui même est le même/vrai.