Seite 1 von 1

einfache Frage zu float, int, Komma

Verfasst: Montag 21. September 2009, 16:14
von kame
for x in range(1,50):
x = float(x/10)
print x

Warum liefert mir dieser Code nur
1.0
2.0
3.0

aber keine 1.1, 1.2, 1.3 etc?

Gruß kame

Verfasst: Montag 21. September 2009, 16:18
von jbs
weil z.B. 16/10 -> 1 ergibt und float(1) = 1.0 ist

du willst sicherlich x/10. oder float(x)/10

Verfasst: Montag 21. September 2009, 16:19
von theliquidwave
Weil Python nur mit ganzen Zahlen rechnet, außer du gibst es implizit an:

Code: Alles auswählen

x = float(x) / 10
Oder du importierst

Code: Alles auswählen

from __future__ import division
oder so etwas ^^

~ Chris

Verfasst: Montag 21. September 2009, 16:26
von cofi
jbs hat geschrieben:du willst sicherlich x/10. oder float(x)/10
Alternativ geht auch ``x / 10.0``, wenn man schon Literale verwendet, kann man sie auch nuetzen.

Die richtige Division zu importieren ist natuerlich die beste Loesung.

Edit: Einen Punkt uebersieht man schnell ... sry jbs :oops:

Verfasst: Montag 21. September 2009, 16:28
von kame
Vielen Dank!