Vous avez parfaitement raison. Merci de m'avoir signalé cette erreur.
En fait, le programme fonctionne correctement tant que vous ne lui fournissez que des valeurs à deux chiffres significatifs seulement, ou des valeurs telles que si on les arrondit à deux chiffres significatifs, le premier de ceux-ci ne soit pas affecté.
Par exemple, 46892 ou 49 ne produisent pas d'erreur, mais bien 49875 ou 49.7
On peut ajouter divers correctifs, tels que par exemple, forcer l'arrondi à deux chiffres significatifs avant les autres calculs, ou plus simplement encore, ajouter les instructions ci-dessous juste après la ligne 51:
if li[1] ==10:
li[1] =0
li[0] +=1
Ainsi on effectue un report, les deux chiffres significatifs sont traités correctement, et l'erreur disparaît.
En tant que vieil électronicien amateur, j'avoue que je n'avais pas bien testé ce programme, mais le code des couleurs pour les résistances courantes que j'ai manipulées ne mentionnait la plupart du temps que deux chiffres significatifs !
Partager