I was working off of the answer in this question: Python Interactive Shell Type Application
My code looks like this
def main():
while True:
s =
You're running it under Python 2.x, where input() actually evaluates what you type as a Python expression. Thus, it's looking for a variable named hello, and, since you haven't defined one, it throws the error. Either use Python 3.x, or use raw_input().
From the parentheses in your print I assume you intended to run it under Python 3.x.
if s == 'hello':
print('hi')
elif s == 'exit':
break
else:
print('Undefined input')
This should take care of undefined user input.