Maison >développement back-end >Tutoriel Python >Pourquoi est-ce que j'obtiens une erreur « NameError : le nom « nom » n'est pas défini » lors de la gestion des entrées utilisateur en Python ?
Erreur : "NameError : le nom 'nom' n'est pas défini" lors de la gestion des entrées utilisateur en Python
Lors du traitement des entrées utilisateur en Python, il est crucial d'utiliser la bonne méthode en fonction de la version de Python utilisée. Dans cette question spécifique, le problème survient en raison de l'utilisation de input() dans Python 2.x.
Comprendre le problème
Dans Python 2.x, le La fonction input() évalue l'entrée saisie en tant que code Python, ce qui peut conduire à des résultats inattendus. Dans le code fourni, la saisie de l'utilisateur est affectée à la variable UserName. Cependant, lors de l'impression du message "Bonjour M. " UserName, l'interpréteur tente d'évaluer l'entrée de l'utilisateur comme un nom de variable valide.
La solution
Pour éviter cela problème dans Python 2.x, utilisez la fonction raw_input() au lieu de input(). La fonction raw_input() lit l'entrée de l'utilisateur sous forme de chaîne, sans l'évaluer comme du code Python. Le code correct devrait ressembler à ceci :
UserName = raw_input("Please enter your name: ") print("Hello Mr. " + UserName) raw_input("<Press Enter to quit.>")
Utilisation dans Python 3.x
Dans Python 3.x, input() se comporte de la même manière que raw_input() dans Python 2.x, évaluant l'entrée de l'utilisateur sous forme de chaîne par défaut. Par conséquent, dans Python 3.x, le code fourni dans la question fonctionnerait sans aucune modification.
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!