Une règle de base de mes lointains débuts en informatique : ne jamais utiliser d’égalité (ou juste de différence, qui revient au même) comme règle d’arrêt, toujours utiliser une infériorité ou une supériorité.
r=0whiler<1:r+=0.1print('fini !')
Ça te garantit que ta boucle s’arrête.
Ça ne te garantit pas qu’elle s’arrête au tour attendu.
En l’occurrence :
print(r)1.0999999999999999
Conclusion personnelle : un programme qui utilise des flottants dans sa logique de contrôle et pas uniquement pour représenter des données a de forts risques d’être bogué (je ne dis pas que c’est toujours le cas, mais il faut vraiment savoir ce qu’on fait).
« Le fascisme c’est la gangrène, à Washington comme en Russie. » — adapté de Renaud, Hexagone
[^] # Utilisation des flottants
Posté par Arthur Accroc . En réponse au journal [Humour] vers un monde différent. Évalué à 5.
Une règle de base de mes lointains débuts en informatique : ne jamais utiliser d’égalité (ou juste de différence, qui revient au même) comme règle d’arrêt, toujours utiliser une infériorité ou une supériorité.
Ça te garantit que ta boucle s’arrête.
Ça ne te garantit pas qu’elle s’arrête au tour attendu.
En l’occurrence :
Conclusion personnelle : un programme qui utilise des flottants dans sa logique de contrôle et pas uniquement pour représenter des données a de forts risques d’être bogué (je ne dis pas que c’est toujours le cas, mais il faut vraiment savoir ce qu’on fait).
« Le fascisme c’est la gangrène, à Washington comme en Russie. » — adapté de Renaud, Hexagone