float

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
M.F
User
Beiträge: 11
Registriert: Freitag 14. Juli 2006, 14:53

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.
michaelbierenfeld
User
Beiträge: 10
Registriert: Mittwoch 19. Juli 2006, 09:36

um mit dem string "9.0" rechnen zu koennen vielleicht. float wandelt strings in fließkommazahlen um
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

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
N17R0
User
Beiträge: 53
Registriert: Samstag 6. März 2004, 23:41

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 ;)
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

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
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
M.F
User
Beiträge: 11
Registriert: Freitag 14. Juli 2006, 14:53

ä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)
CrackPod
User
Beiträge: 205
Registriert: Freitag 30. Juni 2006, 12:56

M.F hat geschrieben:Ihr seit das beste Forum das ich kenne! (erstgemeint)
Und das einzige (für Python zumindest) :wink:
M.F
User
Beiträge: 11
Registriert: Freitag 14. Juli 2006, 14:53

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 ;)
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

M.F hat geschrieben:Ihr seit das beste Forum das ich kenne! (erstgemeint)
Mit dem Debianforum :wink:
Antworten