python fonction int( )

Le code ci-dessous affiche l'erreur si une virgule (eg. 49.9) est envoyé à next variable. Pouvez-vous s'il vous plaît dites-moi pourquoi? Pourquoi ne int() le convertit en un nombre entier?

next=raw_input("> ")
how_much = int(next)
if how_much < 50:
    print"Nice, you're not greedy, you win"
    exit(0)
else:
    dead("You greedy bastard!")

Si je n'utilise pas int() ou float() et il suffit d'utiliser:

how_much=next

puis il se déplace vers "autre chose", même si je donne l'entrée comme 49.8.

Vous voulez probablement dire how_much = int(float(...)) ou how_much = int(round(float(...))).
petite note de côté: next n'est pas un bon choix pour un var nom, comme il est un build en fonction next() depuis 2.6 de python
vous êtes ici à cause de cela. learnpythonthehardway.org/book/ex35.html

OriginalL'auteur Shubham Agrawal | 2012-08-18