Détecter la faute 2

Fermé
mathstudent - Modifié le 11 nov. 2019 à 16:00
jee pee Messages postés 39650 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 26 avril 2024 - 11 nov. 2019 à 16:13
Bonjour.
J'ai fait un programme qui calcule la partie entière d'un nombre reel . Pour les nombre négatifs c'est bon.Or, pour les nombres positifs si je donne 5.6 par exemple il affiche que sa partie entière est 6 ce qui est faut. J’espère savoir où reside la faute.
Merci infiniment.
Le voila mon programme

x=float(input("donner la valeur de x:"))
if x>=0 :
    k=0
    while k<=x :
        k=k+1
    print("la partie entière de ",x,"est:",k)
if x<0 :
    k=0
    while k>x :
        k=k-1
    print("la partie entière de ",x,"est",k)
A voir également:

1 réponse

jee pee Messages postés 39650 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 26 avril 2024 9 238
11 nov. 2019 à 16:08
Bonjour,

Normal 5.6 étant inférieur à 5, le programme passe à 6

Tu devrais mettre comme test
while k+1<=x : 


Il doit y avoir une multitude de façon de traiter cette question, mais je n'aurais pas songé à celle là ;-)
0
jee pee Messages postés 39650 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 26 avril 2024 9 238
11 nov. 2019 à 16:13
il y a le meme défaut sur un nombre négatif -5.6
0