Seite 1 von 1
Problemm Zahl wird nicht als int erkannt.
Verfasst: Mittwoch 26. Mai 2010, 14:01
von sebastian3984
Meine Idee:
Ich wollte ein Code schreiben der überprüft ob in ein String der enthaltene Wert eine Zahl ist.
Mein Code:
Code: Alles auswählen
'''
Created on 24.05.2010
@author: Sebastian
'''
zahl = 23
if zahl is type(int):
print "Es ist eine Zahl"
else:
print "Ein String !"
Ps: Bin vom Galileo Openbook umgestiegen, benutze jetzt den Video Kurs von video2brain:
http://www.video2brain.com/de/products-147.htm (Usenext ftw ^^) komme damit viel besser als mit den Galileo Openbook klar

Re: Problemm Zahl wird nicht als int erkannt.
Verfasst: Mittwoch 26. Mai 2010, 14:07
von numerix
Re: Problemm Zahl wird nicht als int erkannt.
Verfasst: Mittwoch 26. Mai 2010, 14:11
von sebastian3984
Code: Alles auswählen
'''
Created on 24.05.2010
@author: Sebastian
'''
zahl = 23
if type(zahl) is int:
print "Es ist eine Zahl"
else:
print "Ein String !"
Thx, wie änder ich eigentlich hier mein Geburtstag's Datum ?
Re: Problemm Zahl wird nicht als int erkannt.
Verfasst: Mittwoch 26. Mai 2010, 14:21
von BlackJack
@sebastian3984: Nachdem die Frage technisch beantwortet wurde, wollte ich noch anmerken, dass man so einen Typtest nicht machen sollte wenn es sich vermeiden lässt. Das ist ein "code smell". Und falls man doch unbedingt auf Typen testen muss, sollte man eher `isinstance()` dazu verwenden.
Re: Problemm Zahl wird nicht als int erkannt.
Verfasst: Mittwoch 26. Mai 2010, 14:28
von Darii
sebastian3984 hat geschrieben:Ich wollte ein Code schreiben der überprüft ob in ein String der enthaltene Wert eine Zahl ist.
Mein Code:
Code: Alles auswählen
'''
Created on 24.05.2010
@author: Sebastian
'''
zahl = 23
if zahl is type(int):
print "Es ist eine Zahl"
else:
print "Ein String !"
Ein einfacher Typtest wird so nie funktionieren. Der Typ eines Strings wird nie dem Typ `int` entsprechen und wenn da noch so viele Zahlen drin sind. Python ist nicht PHP, wo willkürlich die Typen getauscht werden. Am einfachstes ist es, wenn du versuchst den String als Zahl zu interpretieren:
Code: Alles auswählen
string = ... #irgendwas
try:
zahl = int(string)
print "Es ist eine ganze Zahl"
except ValueError:
print "Keine ganze Zahl"