python - “当真”循环不运行
问题描述
我的代码:
def make_response(self):
recognised = False
get_cmd = False
database = {
"hello": "Nice to meet you. What can I do for you?",
"hi": "Nice to meet you. What can I do for you?",
"hey": "Nice to meet you. What can I do for you?",
"goodbye": "Bye. See you next time!"
}
self = self.lower()
for i in database:
if i in self:
recognised = True
value = database.get(i)
print(value)
def robot():
print('Welcome to robot.py')
print('What can I do for you?')
while True:
query = input('>')
make_response(query)
robot()
当我输入“hello”时,程序给出了预期的响应,但它只是退出而没有完成循环。哪条线打破了循环?谢谢你。
解决方案
在 Python 3.x 中,工作正常。
也许您正在使用 python 2.x 进行编译。在这种情况下,您需要使用 'raw_input' 而不是 'input',但我不推荐 raw_input(它在 Python3 中已弃用)。
尝试 Python 3.x。
PS:另外,我会用其他变量名替换“self”。自我用于类。