我正在解决这个问题的答案:Python Interactive Shell Type Application
我的代码看起来像这样
def main():
while True:
s = input('> ')
if s == 'hello':
print('hi')
if s == 'exit':
break
if __name__ == "__main__":
main()
如果我运行它,并输入hello,我会得到
File "<string>", line 1, in <module>
NameError: name 'hello' is not defined
我应该如何监听文本,并根据结果调用不同的函数?
答案 0 :(得分:5)
您在Python 2.x下运行它,其中input()
实际上评估您键入的内容为Python表达式。因此,它正在寻找名为hello
的变量,并且,由于您尚未定义一个,因此会抛出错误。要么使用Python 3.x,要么使用raw_input()
。
从print
的括号中我假设您打算在Python 3.x下运行它。
答案 1 :(得分:1)
if s == 'hello':
print('hi')
elif s == 'exit':
break
else:
print('Undefined input')
这应该处理未定义的用户输入。