Python überprüfen ob zahl oder nicht

3 Antworten

jeder String hat die Funktion .isdigit

Diese returnt true,wenn der String nur aus zahlen besteht und false wenn anderes drin vor kommt

in python 2.** gibt es noch zusätzlich die funktion input welche automatisch die eingabe interpretiert (zB als Zahl oder was auch immer) ... bei python 3 geht dies nicht mehr

CoreUser  13.04.2014, 15:51

dort kann man dann über is abfragen ob es sich um ein Zahl handelt

0
antonbestever 
Fragesteller
 13.04.2014, 16:24

Danke, aber es gibt nen fehler wenn ich 6.4 habe, wie kann ich float zahlen benutzen?

0
antonbestever 
Fragesteller
 13.04.2014, 17:11

Also isdigit() durch float() ersetzen

0

suche eine funktion im Handbuch, mit der du einen string mit einem regulären ausdruck vergleichen kannst. dieser Ausdruck ist dann [0-9]

antonbestever 
Fragesteller
 13.04.2014, 15:13

Kann ich nicht einfach: if eingabe != float: Print 'Keine Zahl'

0

Nimm die

isdigit()

Funktion.

https://docs.python.org/2/library/stdtypes.html#str.isdigit

Woher ich das weiß:Studium / Ausbildung – B.Sc. Informatik mit FR Software Engineering
antonbestever 
Fragesteller
 13.04.2014, 17:08

Ich will das nicht in einen string verwandeln, ich will eine funktion wie isdigit() die auch mit float klappt

0
antonbestever 
Fragesteller
 13.04.2014, 17:14

Gibt es keine so wie isdigit(), bloß für float?

0
antonbestever 
Fragesteller
 13.04.2014, 17:22

Es ist möglich eine zu bauen. Ob ich eine bauen kann, glaube ich nicht, sonst hätte ich nicht gefragt. Kann ich sagen if eingabe != float: print 'Keine Zahl'

0
antonbestever 
Fragesteller
 13.04.2014, 17:44

Weil ich seit nicht mal einer woche python lerne, willst du mir nicht eben bei der sache helfen? Dann kann ich die mal abschließen Zumindest ein tipp

0
bormolino  13.04.2014, 19:01
@antonbestever

Ich hab noch nie Python gemacht, habe aber Erfahrung aus anderen Sprachen.

Alle deine Fragen kannst du dir selbst über google beantworten. Dort findest du Lösungen.

Du musst auch lernen es selbst zu schaffen und dir nicht alles vorkauen zu lassen. Hier wurden dir jetzt mehrere Vorschläge geliefert, mit denen es geht, probiere es damit, oder lass es - deine Entscheidung.

0
antonbestever 
Fragesteller
 13.04.2014, 19:58

m( ich komm nicht weiter... Wenn ich in der Funktion die float zahl in eine int zahl verwandeln will geht das auch nicht

0
bormolino  13.04.2014, 19:59
@antonbestever

mit isdigit() kannst du nur Strings überprüfen.

Wandle einfach die float Zahl zu einem String um und prüfe es.

0
antonbestever 
Fragesteller
 13.04.2014, 20:23

Meine Zahl ist schon ein String und es soll entschieden werden, ob die Zahl jetzt entweder als float weiterverwendet wird oder im Fall von False das Programm beendet wird. isdigit() gibt nur True zurück wenn der String eine ganze Zahl ist, also ein Integer. Wenn ich das aber in einen int umwandeln will mit int(zahl) dann kommt eine fehlermeldung, dass das nicht möglich ist (invalid literal for int() with base 10: '4,5'. 4,5 war die eingegebene Zahl)

0