Buenas,
@
fallout20xxinput() puede recibir otra cosa que no sean números. Es más, con el anterior código que puse, la expresión 2+3*4, devuelve el valor correcto (16 en este caso).
La diferencia que hay entre input y raw_input (Que alguien me corrija si estoy diciendo cualquier cosa), es que la primera
evalúa la expresión que se pasa como argumento, y la segunda, convierte cualquier cosa ingresada en una string.
Te doy un ejemplo, mira los siguientes códigos:
s = input("> ")
print s
c = raw_input("> ")
print c
Suponiendo que la expresión que le pasas como argumento a ambos códigos sea
5*10-10, en el primer caso devolverá el valor 40 (Y su tipo es int), mientras que en el segundo devolverá "5*10-10" con tipo string.
Se ve la diferencia?
Un saludo.