Wie kann ich in Python einen Filter bauen?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Die Frage hierbei wäre zunächst, was für dich eine valide Zahl darstellt.

Einfach nur eine Eingabe, die nur aus den Zeichen 0-9 besteht? Also nie Eingaben mit Vorzeichen oder Dezimalstelle? In dem Fall wäre isdigit eine passende Wahl.

Wenn du aber nach validen Werten filtern möchtest, die auch negativ/explizit positiv oder Fließkommazahlen sein können, wäre so eine Überprüfung passend:

def is_valid_number(text):
  try:
    float(text)
    return True
  except ValueError:
    return False

# usage:
if is_valid_number("+12.3"):
  print("Is valid number")

Statt einen Typecast auf float kannst du auch einen auf int machen, falls du nur Ganzzahlen haben möchtest.


ezrtaheraahrer 
Beitragsersteller
 09.08.2020, 18:52

das except value error muss ich morgen ausprobieren, daran habe ich garnicht gedacht aber das wäre ja ideal :D

0

Mit der isDigit()-Funktion kann man überprüfen, ob ein String (also z.B. ein Input) nur aus Zahlen besteht.

in = input()
while not in.isDigit():
  in = input()
...
Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf

ezrtaheraahrer 
Beitragsersteller
 09.08.2020, 15:44

danke, freut mich, dass es so simpel geht :D

1