Maison >développement back-end >Tutoriel Python >Pourquoi est-ce que je reçois un message « NameError : le nom « x » n'est pas défini » après avoir obtenu la saisie de l'utilisateur en Python ?

Pourquoi est-ce que je reçois un message « NameError : le nom « x » n'est pas défini » après avoir obtenu la saisie de l'utilisateur en Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-15 21:19:03889parcourir

Why am I getting a

Gestion des erreurs : résoudre le « NameError » après la saisie de l'utilisateur en Python

Lorsqu'ils tentent de récupérer la saisie de l'utilisateur en Python, de nombreux débutants rencontrent le erreur redoutée "NameError : le nom 'x' n'est pas défini". Ce problème survient lorsque la variable saisie par l'utilisateur, telle que « x », n'est pas reconnue comme une variable valide dans le code Python.

Une idée fausse courante est que input() devrait être utilisé à cette fin. Cependant, dans Python 2.x, input() est une fonction qui évalue son argument et l'exécute sous forme de code Python. Cela signifie que si vous entrez une chaîne comme "Bonjour", il tentera de l'interpréter comme des instructions Python, ce qui n'est pas votre intention.

Pour remédier à cela, vous devez plutôt utiliser raw_input(), qui est spécialement conçu pour obtenir les entrées des utilisateurs dans Python 2.x. raw_input() renvoie simplement la chaîne saisie, sans aucune évaluation.

Code corrigé

UserName = raw_input("Please enter your name: ")
print("Hello Mr. " + UserName)
raw_input("<Press Enter to quit.>")

Avec cette modification, le code fonctionnera parfaitement dans Python 2.x , et vous ne rencontrerez plus l'exception 'NameError' lors de l'utilisation de la saisie utilisateur.

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