Bonjour à vous ! C'est mon premier message sur ce forum même si je le lis depuis quelques jours. =P Je ne sais pas s'il est de coutume de se présenter ou pas pour l'occasion, mais je vais essayer de ne pas encombrer ce message et d'aller au but.
J'ai ecrit plusieurs programmes en Python, dans lesquels il y a des boucles "for" qui vont, admettons, de 1 à (int(ifin) +1), ifin étant un float. J'ai remarqué que les effets que je voulais obtenir à la fin de ces boucles n'étaient parfois pas les bons... j'en ai déduit que la boucle s'arrêtait trop tôt. Après ma petite enquête, j'ai pu vérifier que c'était le cas. Et voilà pourquoi, j'illustre avec un cas concret :
Je fais un print à la fin de la boucle pour voir où ça ne va pas, j'affiche ifin et int(ifin). Ca me donne :
100.0 99
au lieu de ce que je voudrais bien avoir... :
100.0 100
Mais ce n'est pas tout, car cette boucle (avec i allant de 1 à int(ifin)+1) se trouve à l'intérieur d'une autre grande boucle qui à chaque itération fait changer ifin en le multipliant par 10.
Supposons que cette autre grande boucle n'itère qu'une fois, avec ifin = 100.0. Là j'obtiens bien int(ifin) = 100. Mais supposons que cette grande boucle itère deux fois ou plus, et supposons que lors de la première itération on ait ifin = 10.0 et lors de la deuxième ifin = 100.0 (multiplication par 10 comme je l'ai dit), j'obtiens int(ifin) = 99.
Je ne comprend pas du tout ce comportement. J'aimerais bien vous montrer mes programmes, mais malheureusement je n'ai pas internet chez moi et j'ai oublié ma clé USB, donc j'y penserai à mon prochain passage sur le forum, mais j'ai essayé de donner tous les éléments qui me semblaient importants sans la connaissance explicite de mes programmes. Désolé !
Je ne connais vraiment pas grand chose en informatique (je suis étudiant en physique en fait), alors si quelqu'un aurait une idée de la raison de ces valeurs de int(ifin) trop petites, je suis prenneur !
Merci d'avance à tout ceux qui prendront le temps de me lire, j'ai bien conscience que ça peut-être casse-tête (ce sera pire avec mes programmes sous les yeux j'imagine haha).
Bonne journée ! =)
