4

我正在解决这个问题的答案: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

我应该如何收听文本,并根据结果调用不同的函数?

4

2 回答 2

5

您在 Python 2.x 下运行它,其中input()实际评估您作为 Python 表达式键入的内容。因此,它正在寻找一个名为的变量hello,并且由于您尚未定义一个变量,因此它会引发错误。要么使用 Python 3.x,要么使用raw_input().

从您的括号中,print我假设您打算在 Python 3.x 下运行它。

于 2013-04-05T18:14:07.230 回答
1
if s == 'hello':
  print('hi')

elif s == 'exit':
  break

else:
  print('Undefined input')

这应该处理未定义的用户输入。

于 2013-04-05T18:34:33.060 回答