Maison >développement back-end >Tutoriel Python >Comment garantir une entrée utilisateur valide en 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!