Heute ein Quicky aus der Community:
Akzeptierte und nicht akzeptierte Datums und Zeitwerte.
Beispiel: Ein User darf nur eine Zeit eingeben. Diese darf über 24 Stunden gehen, soll aber dem System 00:00 folgen. Alle falschen Eingaben sollen geblockt werden.
Mein Verständnis der Frage:
Der Benutzer kann einen String im Format “00:00” eingeben. Also zum Beispiel “14:32” oder “32:48”.
Bei der Eingabe selbst wird nicht unterschieden, ob es sich um eine valide Zeit, also kleiner gleich 24h handelt, oder nicht. Das soll im Nachgang in der Funktion entschieden und ggf. blockiert werden.
Da es sich um einen String handelt, können wir ihn einfach in Stunden und Minuten aufteilen und die beiden Teile separat betrachten:
def validate_time(time):
hours = int(time.split(':')[0])
minutes = int(time.split(':')[1])
if hours < 0 or hours > 24:
return False
if minutes < 0 or minutes > 59:
return False
return True
Mit der Funktion zerlegen wir den übergebenen String erstmal in Stunden und Minuten.
Anschließend lassen sich die Stunden prüfen, dass sie zwischen 0 und 24 liegen und die Minuten, dass sie zwischen 0 und 59 liegen.
Trifft eins von Beiden nicht zu, geben wir ein “False” zurück und signalisieren, dass die eingegebene Zeit ungültig ist.
Natürlich sind hier nicht alle möglichen Fälle abgedeckt. Es soll lediglich einen Anhaltspunkt geben, wie so eine Validierung gemacht werden kann.
Der Wert “24:01” wird zum Beispiel als “True” validiert.
Je nach Bedarf können weitere if-elif-else Bedingungen eingefügt und entsprechend verknüpft werden.
Wenn du auch Fragen hast oder Hilfe benötigst, schau gerne in der kostenlosen Discord Community vorbei!
Hier sind Anfänger und Fortgeschrittene unterwegs, die sich gerne gegenseitig unter die Arme greifen.
Bis zum nächsten Mal!
Ingo Janssen ist ein Softwareentwickler mit über 10 Jahren Erfahrung in der Leitung seines eigenen Unternehmens.
Er studierte Wirtschaftsinformatik an der TH Deggendorf und hat Softwareentwicklung an der FOM Hochschule in München unterrichtet.
Ingo hat mit einer Vielzahl von Unternehmen zusammengearbeitet, von kleinen und mittelständischen Unternehmen bis hin zu MDAX- und DAX-gelisteten Unternehmen.
Ingo ist leidenschaftlich daran interessiert, sein Wissen und seine Expertise mit anderen zu teilen. Aus diesem Grund betreibt er einen YouTube-Kanal mit Programmier-Tutorials und eine Discord-Community, in der Entwickler miteinander in Kontakt treten und voneinander lernen können.
Sie können Ingo auch auf LinkedIn, Xing und Gulp finden, wo er Updates über seine Arbeit teilt und Einblicke in die Tech-Branche gibt.
YouTube | Discord | LinkedIn | Xing | Gulp Profile