Maison >développement back-end >Tutoriel Python >Comment garantir une entrée utilisateur valide en Python ?

Comment garantir une entrée utilisateur valide en Python ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-02 17:01:40381parcourir

How to Ensure Valid User Input in Python?

Demander une entrée utilisateur valide jusqu'à sa réception

Lors de la demande d'entrée utilisateur, il est crucial de gérer les réponses non valides avec élégance plutôt que de planter ou d'accepter des valeurs incorrectes . Les techniques suivantes garantissent l'obtention d'une entrée valide :

Essayer/Excepter pour une entrée exceptionnelle

Utilisez try/sauf pour intercepter une entrée spécifique qui ne peut pas être analysée. Par exemple :

while True:
    try:
        age = int(input("Please enter your age: "))
    except ValueError:
        print("Sorry, that's not a valid age.")
        continue
    break

Validation personnalisée pour des règles supplémentaires

Parfois, les entrées qui peuvent être analysées peuvent ne pas répondre à certains critères. Vous pouvez ajouter une logique de validation personnalisée pour rejeter des valeurs spécifiques :

while True:
    data = input("Enter a positive number: ")
    if int(data) <p><strong>Combiner la gestion des exceptions et la validation personnalisée</strong></p><p>Combinez les deux techniques pour gérer à la fois les règles d'analyse non valides et de validation personnalisée. :</p><pre class="brush:php;toolbar:false">while True:
    try:
        age = int(input("Please enter your age: "))
    except ValueError:
        print("Sorry, that's not a valid age.")
        continue
    if age <p><strong>Encapsulation dans un Fonction</strong></p><p>Pour réutiliser la logique de validation des entrées personnalisée, encapsulez-la dans une fonction :</p><pre class="brush:php;toolbar:false">def get_positive_age():
    while True:
        try:
            age = int(input("Please enter your age: "))
        except ValueError:
            print("Sorry, that's not a valid age.")
            continue
        if age <p><strong>Assainissement avancé des entrées</strong></p><p>Vous pouvez créer une fonction de saisie plus générique pour gérer divers scénarios de validation :</p><pre class="brush:php;toolbar:false">def get_valid_input(prompt, type_=None, min_=None, max_=None, range_=None):
    while True:
        try:
            value = type_(input(prompt))
        except ValueError:
            print(f"Invalid input type. Expected {type_.__name__}.")
            continue
        if max_ is not None and value > max_:
            print(f"Value must be less than or equal to {max_}.")
            continue
        if min_ is not None and value <p>Cette fonction vous permet de spécifier les données type, plage et autres contraintes pour l'entrée utilisateur.</p>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn