Seite 1 von 1

float

Verfasst: Mittwoch 19. Juli 2006, 09:45
von M.F
Ich leider noch Anfänger und hab ein verständnispoblem mit nem beispielcode:

Code: Alles auswählen

# rechner 
erste = raw_input("Erste Zahl:")
zweite = raw_input("Zweite:")
erste = float(erste)
zweite = float(zweite)
ergebnis = erste + zweite
print ergebnis
So allso die ersten zeilen sind klar. "erste" und "zweite" sind Variable.
Die letzten beiden zeilen sind auch klar "ergebnis" ist auch eine variable die dann zum schluss durch print angezeigt wird.

So jetzt zu meinem Poblem. Wozu sin die beiden Zeilen mit "float" gut?
Ich hab bischer nichts zu float gefunden.

Verfasst: Mittwoch 19. Juli 2006, 09:52
von michaelbierenfeld
um mit dem string "9.0" rechnen zu koennen vielleicht. float wandelt strings in fließkommazahlen um

Verfasst: Mittwoch 19. Juli 2006, 09:55
von pyStyler
Hallo,
michaelbierenfeld hat geschrieben:um mit dem string "9.0" rechnen zu koennen vielleicht. float wandelt strings in fließkommazahlen um
nein nicht ganz richtig

Code: Alles auswählen

>>> print (10)
10
>>> print float(10)
10.0
>>> 
alles klar :D ?

also sind float fliesskommazahlen.

Gruss
pyStyler

Verfasst: Mittwoch 19. Juli 2006, 10:01
von N17R0
richtig. würde allerdings auch einfacher gehen:

Code: Alles auswählen

# rechner 
erste = input("Erste Zahl:") 
zweite = input("Zweite:") 
ergebnis = erste + zweite 
print ergebnis
durch das verwenden von "input" statt" "raw_input" wird die Zahl auch gleich als zahl gespeichert und nicht erst als text. kann natürlich zu problemen kommen, wenn statt einer zahl bzw einem float ein text eingegeben wird. das gleiche problem bestünde beim ersten beispiel aber bei der umwandlung in einen float auch ;)

Verfasst: Mittwoch 19. Juli 2006, 10:37
von gerold
N17R0 hat geschrieben:verwenden von "input" statt" "raw_input"
Hi N17R0!

Ich würde niemandem freiwillig zu "input()" raten. Siehe hier: http://www.python-forum.de/post-31806.html#31806

Bei "raw_input()" weiß ich, dass ich einen String zurück bekomme und kann darauf reagieren. Bei "input()" weiß ich das nicht und es ist möglich Python-Kommandos einzugeben, was die ganze Sache ein wenig unberechenbar macht.

Es geht noch weiter:
Wenn man bei zwei "input()"-Aufrufen jeweils eine Ganzzahl eingibt, dann wirst du bei anderen Berechnungen wie z.B. einer Division ein Problem bekommen, wenn du die Werte nicht doch vorher in Floats umwandelst. Warum also "input()" verwenden, wenn ich mich doch selber darum kümmern muss, dass die Werte vom richtigen Typ sind.

Code: Alles auswählen

>>> 1 / 3
0
>>> 1.0 / 3.0
0.33333333333333331
>>>

mfg
Gerold
:-)

Verfasst: Mittwoch 19. Juli 2006, 12:29
von M.F
ähm danke Leute!
Ich habs jetzt gerafft.
Also war meine vermutung, dass man es auch ohne schreiben könnte (siehe N17Ro) gar nicht mal so falsch.
Aber beim rechnen ist es wohl besser raw_input zu nehmen.

Ihr seit das beste Forum das ich kenne! (erstgemeint)

Verfasst: Mittwoch 19. Juli 2006, 15:42
von CrackPod
M.F hat geschrieben:Ihr seit das beste Forum das ich kenne! (erstgemeint)
Und das einzige (für Python zumindest) :wink:

Verfasst: Mittwoch 19. Juli 2006, 17:41
von M.F
stimmt ja sagar. Zumindest das einzige reine deutsche python forum.
Ne war aber allgemein gemeint.
Ich bin in etwa 10 foren angemeldet. Von daher kann ich halbwegs gut vergleichen.
Naja Leute die programmieren können habens halt drauf ;)

Verfasst: Mittwoch 19. Juli 2006, 20:00
von Joghurt
M.F hat geschrieben:Ihr seit das beste Forum das ich kenne! (erstgemeint)
Mit dem Debianforum :wink: