|
Posté le 14-03-2019 à 17:19 | #
|
Je n'ai pas tout compris alors je ne sais pas si on parle de la même chose,
en python, je ne sais plus, mais en c, quand tu met une variable globale au programme en argument, le programme crée une copie de la variable, donc si tu modifie cette variable dans ta fonction, tu ne modifie pas la vraie
un exemple:
variable=5
def fonction(variable):
variable=variable+5
fonction(variable)
print(variable)
Renvoie 5 et pas 10 (je crois, je suis pas pro) |
|
|
Posté le 14-03-2019 à 17:34 | #
|
Oui mais j'ai fait ça pour voir si ça réglait le problème sur G90. C pas simple à expliquer comme fonction.. Je tente à nouveau
Bon alors, la fonction à pour arguments dans l'ordre:
-Une str contenant l'expression d'une fonction ayant pour variable "x".
- La première valeur (borne)
- La seconde valeur. C'est entre ces deux valeurs que la fonction va renvoyer le sens de variation.
Dans le code de la fonction je crée une variable "x" correspondant à celle normalement presente dans l'expression en argument n°1 et lui donne la valeur de la première borne (argument n°2). Ensuite la fonction va calculer le résultat de l'expression saisie en argument n°1 (utilise la fonction python "eval()") en remplaçant la variable "x" par la valeur qui correspond. Puis je récupère le résultat dans une première variable (ici "ans1) Et je répète l'opération en mettant la variable "x" à la valeur située en 3 ème argument et en stockant le second résultat dans une seconde variable ("ans2"). Enfin la fonction compare les résultats ("ans1" et "ans2") et renvoie -1, 0 ou 1 pour le sens de variation.
C'est plus clair ? |
|
|
Posté le 14-03-2019 à 17:46 | #
|
Bon alors je ne vois pas...
Tu devrais essayer ton programme sur ordi,
voir si c'est casiopython qui t'autorise des choses
où si c'est micropython G90 qui est codé avec le Q |
|
|
Posté le 14-03-2019 à 18:01 | #
|
Ben je l'ai programmé sur l'ordi avec IDLE. Sur l'ordi ça fonctionne parfaitement mais sur Graph 90+E avec le module Python de Casio il y a erreur.. alors ce n'est pas que mon code est faux, c'est bien de la G 90 que vient le problème |
|
|
Posté le 14-03-2019 à 18:05 | #
|
Disons que casio devrait engager de VRAIS dévellopeurs
Vois s'il n'existe pas une solution n°2 compatible... |
|
|
Posté le 14-03-2019 à 18:06 | #
|
J'y travaille |
|
|
Posté le 14-03-2019 à 18:07 | #
|
Le langage Python est quelque chose de sensiblement universel, mais ça ne veut pas dire que toutes les implémentations supportent toutes les bibliothèques et toutes les fonctions.
Si ton programme marche sur ton PC, ça veut dire que c'est du Python bien formé. Mais s'il utilise des modules exotiques, tu n'iras pas loin sur la calculatrice, qui est un environnement limité. Le nier ne t'aidera pas... |
|
|
Posté le 14-03-2019 à 18:07 | #
|
Et cracher sur Casio non plus. Soyez un peu ouverts d'esprit, il n'y a pas "le Python" de votre ordinateur qui a raison et la méchante Graph 90 qui ne respecte pas le standard. C'est plus compliqué, bien sûr. |
|
|
Posté le 14-03-2019 à 18:10 | #
|
Évidemment
Je ne saurais même pas écrire 0.001% d'un interpréteur python |
|
|
Posté le 14-03-2019 à 18:12 | #
|
Ah mais on ne "crache" pas sur la Casio, au contraire, c'est super de pourvoir l'utiliser avec du code en Python, c'est juste bizarre et dommage que cette fonction ne veuille pas fonctionner.. je n'utilise pas de bibliothèque à part "math". Et par "J'y travaille" je ne nie pas que je pourrais laisser ma fonction sous la forme qu'elle possède déjà et la faire fonctionner sur ma G 90, il me semble raisonnable de la modifier et c'est ce que je suis en train de faire |
|