Seite 1 von 1
ganze zahlen erkennen
Verfasst: Montag 15. November 2010, 20:22
von LP640
hallo,
weiß jemand, wie man bei python ganze zahlen erkennen kann?
etwa so (nur als beispiel):
Code: Alles auswählen
x=1.2
if x==ganzezahl:
print"ja"
if x!=ganzezahl:
print"nein"
(in diesem fall müsste also "nein" rauskommen)
mfg
LP640
Re: ganze zahlen erkennen
Verfasst: Montag 15. November 2010, 20:27
von Hyperion
Re: ganze zahlen erkennen
Verfasst: Montag 15. November 2010, 20:47
von DaMutz
ich würde es eher so machen:
Code: Alles auswählen
In [1]: 1.5 % 1
Out[1]: 0.5
In [2]: 1.0 % 1
Out[2]: 0.0
In [3]: 1 % 1
Out[3]: 0
In [4]: 6 % 1
Out[4]: 0
Re: ganze zahlen erkennen
Verfasst: Montag 15. November 2010, 20:54
von numerix
DaMutz hat geschrieben:ich würde es eher so machen:
Verstehe ich nicht.
Re: ganze zahlen erkennen
Verfasst: Montag 15. November 2010, 21:06
von b.esser-wisser
... oder ist das zu einfach
Re: ganze zahlen erkennen
Verfasst: Montag 15. November 2010, 21:09
von DaMutz
Für mein Verständnis ist 1.0 auch eine ganze Zahl, aber wahrscheinlich war das Falsch

Re: ganze zahlen erkennen
Verfasst: Montag 15. November 2010, 21:10
von cofi
b.esser-wisser hat geschrieben:
... oder ist das zu einfach
Und zu kaputt:
Re: ganze zahlen erkennen
Verfasst: Montag 15. November 2010, 21:19
von nomnom
numerix hat geschrieben:DaMutz hat geschrieben:ich würde es eher so machen:
Verstehe ich nicht.
Na, er meint, dass man prüfen kann, ob `x` eine ganze Zahl ist, wenn ein `% 1` 0 ergibt, also bei einer Teilung durch Null kein Rest bleibt. Logisch, oder? Ganzzahl != ganze Zahl IMHO
Re: ganze zahlen erkennen
Verfasst: Montag 15. November 2010, 21:20
von b.esser-wisser
@cofi:
Wieso kaputt?
Ich hab das so verstanden, dass "1.0" als Ganze Zahl gilt.
Sonst reicht natürlich "isinstance(x, int)" bzw. stellt sich die Frage gar nicht.
Oder besser: Konzept überdenken - denn das riecht komisch
Re: ganze zahlen erkennen
Verfasst: Montag 15. November 2010, 22:27
von LP640
wow, vielen dank für die zahlreichen antworten
ich habe aber gleich schon das nächste problem:
weiß einer, wie man zahlen abrunden kann?
also zum beipiel:
das wäre jetzt aufrunden, aber wie kann ich x auf 1 abrunden???
mfg
LP640
Re: ganze zahlen erkennen
Verfasst: Montag 15. November 2010, 22:31
von LP640
ich habe gerade eben eine lösung gefunden:
Code: Alles auswählen
>>> x=1.672
>>> y=round(x)
>>> if y>x:
x=x-1
round(x)
1.0
aber gibt es da einen weniger umständlichen befehl?
Re: ganze zahlen erkennen
Verfasst: Montag 15. November 2010, 22:33
von cofi
Re: ganze zahlen erkennen
Verfasst: Dienstag 16. November 2010, 08:54
von mkesper
Der Unterschied zwischen Auf- und Abrunden beträgt 0.5.
