Si si, les résistance de 0 et de 0.1 ohm sont assez fréquente (utilisée généralement en strap) et il existe aussi des résistances de précision entre 0.1 et 10 ohm et même certaines bien spécialisées qui sortent du cadre des normes (notamment utilisée dans des systèmes à pont de Wheatstone). Même si avec le numérique et les temps modernes cela devient de plus en plus rare, on trouvait aussi autrefois dans des appareils de mesure des résistance ajustable qui avaient reçues des points de peinture qui correspondaient à la valeur d'étalonnage et qui pourtant ne se trouvait pas dans une norme. Bref, je t'accorde que ce n'est pas courrant du tout et tu n'en auras sans doute jamais besoin, mais d'un point de vue purement 'programmation', ce sont des bugs et Il y en a d'autres.
Si tu passes 0 à ta fonction, ton programme sera bloqué dedans. 0 multiplié par tout ce que tu veux, ca fera toujours 0 et tu sera toujours bloqué dans while x < 100 jusqu'à un éventuel plantage par débordement de e)
Si tu passe une valeur < à 0.1 avec 3 décimales ou une valeur 'impossible' (trop grande par exemple) ta fonction retourne une string alors que si tout se passe bien, elle retourne une list. Ca c'est vraiment une erreur de débutant. Quand tu développes des fonctions (donc avec retour) fais en sorte que le type de sortie soit toujours le même quoi qu'il arrive (surtout avec python, avec d'autres langages 'propre' tu ne pourrais pas faire cette erreur)
Si tu passe par exemple 22
,6 au lieu de 22
.6 ton programme plantera à X=float(X). Il est impératif de typer correctement les paramètres avant l'appel, sinon le programme plante dans la fonction. Si tu le fais (contrôle de données saisies au clavier par exemple) alors la ligne ne sert a rien et le programme ne peut pas planter dans la fonction. Ca aussi ca concerne surtout python, avec la plupart des langages 'propre' tu planterais en dehors de la fonction.
pour le reste, c'est juste de l'optimisation, donc je n'en parle pas
Ce sont des détails tu va me dires, mais c'est le genre de détails qu'on appel des bugs. La tu as juste une seul fonction et encore elle est petite, mais si un jour tu veux te lancer dans des programmes plus conséquent qui peuvent contenir des dizaines voir des centaines de fonctions qui se passent des valeurs entre elles et que tu ne fais pas attention à ce genre de truc tu ne t'en sortiras jamais. C'est ce que l'on appelle la robustesse du code et la dessus la loi de murphi est très clair. Tout ce qui est improbable arrivera et moins il y a de chance que ca arrive et plus ca arrivera ...
la conversion de mon code c# en python :

- colorpy.png (29.71 Kio) Vu 6144 fois
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).