In python 2.x, raw_input() returns a string and input() evaluates the input in the execution context in which it is called
>>> x = input()
"hello"
>>> y = input()
x + " world"
>>> y
'hello world'
In python 3.x, input has been scrapped and the function previously known as raw_input is now input. So you have to manually call compile and than eval if you want the old functionality.
python2.x                    python3.x
raw_input()   --------------> input()               
input()  -------------------> eval(input())     
In 3.x, the above session goes like this
>>> x = eval(input())
'hello'
>>> y = eval(input())
x + ' world'
>>> y
'hello world'
>>> 
So you were probably getting an error at the interpretor because you weren't putting quotes around your input. This is necessary because it's evaluated. Where you getting a name error?