Python ganze Zahl erkennen?
Hallo,
ich möchte in Python in einer if-Schleife prüfen, ob eine Zahl ganzzahlig ist. Bisher habe ich noch keine rechte Lösung dazu gefunden.
Geht das überhaupt? Und wenn ja wie?
4 Antworten
Du kannst ja überprüfen, ob deine Variable ein integer ist mit
isinstance(i,int)
Aso, dann liegen dir die also als floats vor. Vielleicht kannst du ja mal versuchen mit der modulo Operation zu schauen, ob deine floats ganzzahlig teilbar durch 1 sind.
if i % 1 == 0:
return True
return False
#edit
die float Klasse scheint eine eigene Methode dafür zu haben.
i.is_integer()
Ich würde eher dies benutzen.
ich kenne python zwar nicht, aber in jeder anderen sprache würde ich prüfen, ob es einen nachkommaanteil anders als null gibt (frac() == 0) oder ob der gerundete wert gleich dem ungerundeten ist (round(x) == x)
Du kannst mit
if a%1==0:
#ganzzahlig
auch floats überprüfen.
da steht sowas imma: https://stackoverflow.com/questions/8595973/truncate-to-three-decimals-in-python/8595991
Bei mir ist das so, ich hab einen Term, für den ich mehre Möglichkeiten durchgehen lasse und ich will nur die ganzzahligen auf der Konsole haben. Bei mir sind nämlich alle foats.