Seite 1 von 1

Abfrage string und int

Verfasst: Donnerstag 5. Juni 2008, 19:47
von tobs839
Hallo COMMUNITY,

ich habe eine Arbeit geschrieben über Phyton.

Und dort hatten wir eine Aufgabe in der wir sollen durch raw_input()

Abfragen ob es ein string oder ein interger wert ist

ich hatte diese idee

#############

a=raw_input()
if a=int:
print 'integer'
if a = string:
print 'string'
#############

villeicht kann mir jemand helfen!!!

mfg

Verfasst: Donnerstag 5. Juni 2008, 19:59
von EyDu
Das funktioniert so leider nicht. Erstens ist "=" kein Vergleich, sondern eine Zuweisung und zweitens kann der Interpreter natürlich nicht ahnen, dass du den Typ deiner Variable mit einem anderen Typ vergleichen willst.

Der pythonische Weg wäre wohl:

Code: Alles auswählen

data = raw_input()
try:
    data = int(data)
finally:
    pass

print type(data)
Du kannst natürlich auch testen, ob nur Ziffern im String vorkommen (und als erstes Zeichen eventuell noch ein Vorzeichen).

Verfasst: Donnerstag 5. Juni 2008, 20:03
von tobs839
danke danke

geht das ganze auch mit "if"???

Verfasst: Donnerstag 5. Juni 2008, 20:07
von EyDu
Das kannst du in Zeile 7 einfügen, indem du gegen dem Typ vergleichst (oder besser: verwende "instanceof", die Dokumentation hilft dir da). Ein Integer hat den Typ "int" ein String den Typ "string". Den Rest überlasse ich einfach mal Dir als (ganz ganz kleine) Übung.

Verfasst: Donnerstag 5. Juni 2008, 21:55
von numerix
EyDu hat geschrieben: Der pythonische Weg wäre wohl:

Code: Alles auswählen

data = raw_input()
try:
    data = int(data)
finally:
    pass

print type(data)
Damit es "echt pythonisch" wird, müsste man "finally" durch "except" ersetzen ... :D

Verfasst: Donnerstag 5. Juni 2008, 22:01
von audax

Code: Alles auswählen

data = raw_input()
try:
    data = int(data)
except ValueError:
    pass

print type(data)
[/quote]

Verfasst: Freitag 6. Juni 2008, 07:16
von BlackJack
Vielleicht war das auch eine Trickfrage. `raw_intput()` liefert nämlich grundsätzlich Zeichenketten. :-)

Verfasst: Freitag 6. Juni 2008, 08:44
von EyDu
pütone hat geschrieben:Damit es "echt pythonisch" wird, müsste man "finally" durch "except" ersetzen ... :D
Hups... :roll: Naja, beim ersten String hätte man es bemerkt.