El problema es que estas usando input
bajo python 2.7 como se haría en Python 3. input
espera código Python válido el cual evalúa, si ingresas hola
u otra cadena sin usar comillas ("hola"
), interpreta que es un identificador, como una variable, y al no estar definida en el espacio de nombres, lanza la excepción mostrada.
Para hacer lo que quieres en Python 2.x debes usar raw_input
que retorna siempre una cadena:
print "hola"
hiola = raw_input()
if hiola == 'salsa':
print "hola"
Por otro lado no entrecomillas salsa
, si es una variable debes definirla antes, por ejemplo:
salsa = 'hola'
si salsa
no es una variable y es una cadena literal debes ponerla entre comilla:
if hiola == 'salsa':
Para ver las diferencias entre input
y raw_input
(y las diferencias al respecto entre Python 3 y Python 2) puedes mirarte esta pregunta: