critor wrote:Donc, il y avait en version 5.2 un bug avec le module Python ti_image, traité dans l'article et que je rappelle ici.
Lorsque l'on insère une ressource image dans un document .tns via l'éditeur de script Lua :
- l'image est affichée correctement par un script Lua
- mais l'image est affichée à l'envers par un script Python, et parfois pire avec une distorsion horizontale
Espérons que ce sera enfin corrigé pour la version 5.3, mise à jour annuelle à venir d'ici la rentrée 2021 je suppose.
Autre bug découvert ces derniers jours et ici majeur, puisque pouvant à la différence impacter un très large éventail de scripts.
La fonction round() génère une exception si :
- on lui demande d'arrondir un nombre entier
- tout en précisant le nombre de décimales souhaitées
Bien sûr aucun intérêt à arrondir un entier, mais dans le contexte d'un script, il est parfaitement possible de temps en temps que les valeurs traitées soient entières.
Personnellement, je m'en suis rendu compte en intégrant un turtle.py à certains de mes documents .tns, script qui fonctionnait parfaitement sur d'autres plateformes. Certains mouvements de la tortue généraient donc une exception, lorsque les valeurs géométriques calculées en interne étaient donc entières.
Le bug n'est pas présent sur les TI-83PCE/84+CE ni sur les modèles concurrents, ces derniers n'ont aucune difficulté à arrondir.
Adriweb wrote:C'est embarrassant ca...
Mais bon en attendant ce n'est pas compliqué de se créer un "wrapper":
- Code: Select all
round_ = round
def is_integer_num(n):
if isinstance(n, int):
return True
if isinstance(n, float):
return n.is_integer()
return False
def round(n, p):
return n if is_integer_num(n) else round(n, p)
... ou un truc dans ce genre (pas testé)
Merci.
À intégrer donc en début de chaque script Python TI-Nspire CX II utilisant round().