HOWTO · Python
Solucione el NameError: el nombre de entrada no está definido en Python
En Python, por debajo de la versión 3.0, había dos métodos integrados para tomar la entrada del usuario. Una era la función de entrada y la otra era la función raw_input. Pero más tarde, en las versiones 3.X, ambos se combinaron e hicieron una sola función de entrada.
En esta página
En las versiones de Python 2.7 y 2.x, la función raw_input() y input() eran las dos funciones integradas para tomar la entrada del usuario. Pero en las versiones posteriores de Python 3,0, raw_input() pasó a llamarse input(), que ahora todavía está en uso.
Solucione el NameError: el nombre de entrada no está definido en Python
En la versión anterior de Python, la función input se usaba para evaluar la expresión de Python, pero si desea leer cadenas, entonces se usaba raw_input para ese propósito. Pero ahora, la función raw_input se renombra como entrada, por lo que no funcionará en las versiones 3.x de Python.
Entendámoslo a través de un ejemplo.
Estamos usando la versión 2.7 de Python por el bien de este tema. Si usa esto en la versión 3.x de Python, este código se ejecutará sin errores.
# Python 2.7 version
name = input("Hi! What is your good name? ")
print("Nice to meet you " + name)
Producción :
NameError: name 'Zeeshan' is not defined
El código anterior provocó un error de nombre porque la entrada no se usó para leer la cadena en la versión anterior de Python, sino para evaluar la expresión de Python. Y para corregir este error de nombre, podemos usar la función raw_input porque fue construida para leer cadenas.
Arreglemos el error de nombre con la función raw_input.
name = raw_input("Hi! What is your good name? ")
print("Nice to meet you " + name)
Producción :
Hi! What is your good name? Nice to meet you Zeeshan
Como puede ver, la función raw_input solucionó el error de nombre y ejecutó el programa sin problemas.