I am getting an error executing this code:
nameUser=input("What is your name ? ") print (nameUser)
The error message is
Traceback (most recent call last): File "C:/Users/DALY/Desktop/premier.py", line 1, in File "", line 1, in NameError: name 'klj' is not defined
What's going on?
This question is tagged with
~ Asked on 2016-02-18 22:38:11
You are using Python 2 for which the
input() function tries to evaluate the expression entered. Because you enter a string, Python treats it as a name and tries to evaluate it. If there is no variable defined with that name you will get a
To fix the problem, in Python 2, you can use
raw_input(). This returns the string entered by the user and does not attempt to evaluate it.
Note that if you were using Python 3,
input() behaves the same as
raw_input() does in Python 2.
~ Answered on 2016-02-18 22:42:09
input is evaluated,
input() is equivalent to
eval(raw_input()). When you enter klj, Python tries to evaluate that name and raises an error because that name is not defined.
raw_input to get a string from the user in Python2.
klj is not defined:
>>> input() klj Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1, in <module> NameError: name 'klj' is not defined
klj is defined:
>>> klj = 'hi' >>> input() klj 'hi'
Demo 3: getting a string with
>>> raw_input() klj 'klj'
~ Answered on 2016-02-18 22:42:41