Hilfe! 5 / 2 = 2 Wieso??

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
Py
User
Beiträge: 2
Registriert: Freitag 15. September 2006, 13:54

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
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Code: Alles auswählen

>>> 5.0/2
2.5
>>> 5/2.0
2.5
>>> 5/2
2
>>>
Nirven
User
Beiträge: 130
Registriert: Mittwoch 10. Mai 2006, 08:18
Wohnort: Bremerhaven

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
>>>
Py
User
Beiträge: 2
Registriert: Freitag 15. September 2006, 13:54

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
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.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

btw. wir sollten das Thema mal dringent in die FAQ schreiben!

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

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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:
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten