Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich gültige Benutzereingaben in meinem Programm sicherstellen?

Wie kann ich gültige Benutzereingaben in meinem Programm sicherstellen?

Mary-Kate Olsen
Freigeben: 2024-12-27 06:01:09
Original
622 Leute haben es durchsucht

How Can I Ensure Valid User Input in My Program?

Benutzereingaben anfordern, bis eine gültige Antwort bereitgestellt wird

Bei der Programmierung ist es wichtig, sicherzustellen, dass die Benutzereingaben gültig sind, bevor mit weiteren Vorgängen fortgefahren wird. Werden ungültige Daten akzeptiert, kann es zu falschen Ergebnissen oder Programmabstürzen kommen. Lassen Sie uns effektive Techniken zur Handhabung der Validierung von Benutzereingaben und zur Vermeidung von Fehlern untersuchen.

Ausnahmen und Schleifen

Ein Ansatz besteht darin, Try- und Except-Blöcke zu verwenden, um Fehler abzufangen, die auftreten können, wenn Analysieren von Benutzereingaben. Indem Sie den Eingabe-Parsing-Vorgang in eine While-Schleife einschließen, können Sie kontinuierlich Eingaben anfordern, bis sie die gewünschten Kriterien erfüllen.

while True:
    try:
        age = int(input("Please enter your age: "))
    except ValueError:
        print("Sorry, I didn't understand that.")
        continue
    else:
        break
Nach dem Login kopieren

Benutzerdefinierte Validierungslogik

Zusätzlich Zur Ausnahmebehandlung können Sie Ihre eigenen Validierungsregeln implementieren, um die Eingabe abzugleichen. Beispielsweise können Sie Werte ablehnen, die negativ sind oder außerhalb eines bestimmten Bereichs liegen.

while True:
    data = input("Pick an answer from A to D:")
    if data.lower() not in ('a', 'b', 'c', 'd'):
        print("Not an appropriate choice.")
    else:
        break
Nach dem Login kopieren

Fehlerbehandlung für alle Fälle

Für eine umfassende Eingabevalidierung können Sie kombinieren Ausnahmebehandlung mit benutzerdefinierten Regeln in einer einzigen Schleife. Dadurch wird sichergestellt, dass sowohl Analysefehler als auch ungültige Werte erkannt und angemessen behandelt werden.

while True:
    try:
        age = int(input("Please enter your age: "))
    except ValueError:
        print("Sorry, I didn't understand that.")
        continue

    if age < 0:
        print("Sorry, your response must not be negative.")
        continue
    else:
        break
Nach dem Login kopieren

Kapselung und wiederverwendbare Funktionen

Wenn Sie häufig auf die Notwendigkeit einer Benutzereingabevalidierung stoßen ist es von Vorteil, den relevanten Code in einer separaten Funktion zu kapseln. Dies ermöglicht die Wiederverwendung von Code und vereinfacht den Prozess der Eingabeerfassung.

def get_non_negative_int(prompt):
    while True:
        value = int(input(prompt))
        if value >= 0:
            break
    return value

age = get_non_negative_int("Please enter your age: ")
Nach dem Login kopieren

Erweiterbarkeit und generische Eingabevalidierung

Durch die weitere Erweiterung des Konzepts können Sie eine hochentwickelte Lösung erstellen vielseitige Eingabevalidierungsfunktion, die ein breites Spektrum an Anforderungen abdeckt.

def sanitised_input(prompt, type_=None, min_=None, max_=None, range_=None):
    while True:
        ui = input(prompt)
        try:
            if type_ is not None:
                ui = type_(ui)
        except ValueError:
            continue

        # Perform further validation checks and return valid input if all criteria are met.
Nach dem Login kopieren

Häufige Fallstricke und Best Practices

  • Vermeiden Sie redundante Eingabeanweisungen: Die Verwendung mehrerer Eingabeanweisungen zur Validierung ist ein schlechter Programmierstil und kann die Fehlerwahrscheinlichkeit erhöhen.
  • Verzichten Sie auf Rekursion: Während die Rekursion für die Eingabevalidierung verlockend erscheinen mag, kann sie insbesondere zu Stapelüberläufen führen mit übermäßig vielen ungültigen Eingaben.
  • Bevorzugung von Schleifen für eine effiziente Handhabung: Der Einsatz von while-Schleifen ermöglicht eine effiziente Fehlerbehandlung, indem kontinuierlich Eingaben angefordert werden, bis eine gültige Antwort empfangen wird.

Das obige ist der detaillierte Inhalt vonWie kann ich gültige Benutzereingaben in meinem Programm sicherstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage