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.