python int ( ) - Funktion

Den code unten zeigt Fehler an, wenn eine Dezimalzahl (zB. 49.9) geschickt next variable. Können Sie mir bitte sagen, warum? Warum int() konvertiert es in eine Ganzzahl?

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!")

Wenn ich das nicht mit int() oder float() und verwenden nur:

how_much=next

dann bewegt es sich auf die "else" selbst wenn ich den Eingang als 49.8.

  • Sie wollen wahrscheinlich sagen how_much = int(float(...)) oder how_much = int(round(float(...))).
  • kleine Randbemerkung: next ist nicht eine gute Wahl für eine var name, da es eine build in Funktion next() da in python 2.6
  • Sie sind hier, weil dieser. learnpythonthehardway.org/book/ex35.html
Schreibe einen Kommentar