Seite 1 von 1

Hilfe! 5 / 2 = 2 Wieso??

Verfasst: Montag 18. September 2006, 09:23
von Py
Hallo,

ich bin ganz neu hier und bin gerade dabei mir Python beizubringen.
Ich möchte ein kleines Programm schreiben, bei dem ich 2 Zahlen eingeben kann und diese dann addiert, subtrahiert, multiplieziert und dividiert werden.

Also zum Beispiel so:

Bitte erste Zahl eingeben: _
Bitte zweite Zahle eingeben: _

Wenn ich zum Beispiel 5 und 2 eingebe berechnet das Programm:
5 + 2 = 7
5 - 2 = 3
5 * 2 = 10
5 / 2 = 2

die Zahlen werden als Integer eingegeben um damit zu rechnen.

Wie bekomme ich aus den Integer Zahlen "float" oder "double" hin? Das muss doch funktionieren, dass 5 / 2 = 2.5 rauskommt.

Danke schonmal im Voraus für eure Hilfe!

Grüße Py

Verfasst: Montag 18. September 2006, 09:29
von Rebecca

Code: Alles auswählen

>>> 5.0/2
2.5
>>> 5/2.0
2.5
>>> 5/2
2
>>>

Verfasst: Montag 18. September 2006, 09:32
von Nirven
Mit

Code: Alles auswählen

float(x)
wandelst du x in ein Float um. Damit funktioniert die Rechnung

Code: Alles auswählen

>>> x = 5
>>> y = 2
>>> x/y
2
>>> float(x)/y
2.5
>>>

Verfasst: Montag 18. September 2006, 10:31
von Py
Super, vielen Dank!!
Die Zahl wird vom Benutzer nun als Float eingegeben ohne dass dieser etwas davon merkt.

Code: Alles auswählen

a = float (raw_input("Bitte Zahl 1 eingeben: "))
b = float (raw_input("Bitte Zahl 2 eingeben: "))
Es hat geklappt !!

Danke! :D

Verfasst: Montag 18. September 2006, 19:49
von BlackJack
Ansonsten kann man an den Anfang des Moduls auch die folgende Zeile eingeben:

Code: Alles auswählen

from __future__ import division
Dann ist das Ergebnis von der normalen Division immer eine Fliesskommazahl. Wenn man ganzzahlige Division haben möchte muss man `//` benutzen.

Verfasst: Dienstag 19. September 2006, 09:56
von jens
btw. wir sollten das Thema mal dringent in die FAQ schreiben!

Wobei, da haben wir schon was:
[wiki]Neue Features[/wiki]

Verfasst: Dienstag 19. September 2006, 20:59
von Leonidas
jens hat geschrieben:Wobei, da haben wir schon was:
[wiki]Neue Features[/wiki]
Ja, gut dass du mich daran erinnerst, da habe ich einen Absatz zu den neuen Konditionalen Ausdrücken geschrieben, wäre gut wenn das mal jemand testet, der Python 2.5 hat. Korrekturleser sind natürlich auch erwünscht.

Und zur Feier des "Matrixes vs. Matrizen, Stiel vs Stil, Standart vs Standard, Groß- vs. Kleinschreibung"-Tages: "Dringend" schreibt man mit "D". SCNR :wink: