You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Python新手求助:如何让聊天机器人的输入语句持续运行?

如何让Python聊天机器人支持多次交互?

嘿,很高兴看到你开始动手做Python聊天机器人!你的基础对话逻辑已经写得很清晰了,现在遇到的问题是程序只运行一次就终止对吧?这是因为当前代码是按顺序执行的,完成一轮问答后就走到了代码末尾,自然就退出了。要实现持续交互,我们只需要给整个对话逻辑套一个循环就行,最常用的就是while循环。

最简单的实现:无限循环 + 退出机制

我们可以用while True创建一个无限循环,让对话逻辑重复执行,同时加一个退出条件(比如用户输入"exit"时结束程序),这样既可以持续聊天,也能让用户主动终止程序。修改后的代码如下:

print("Hi! I am AUGbot")
while True:
    x = input()
    # 把输入转成小写,兼容不同大小写的输入,比如"Hi" "HI"都能匹配
    x_lower = x.lower()
    if x_lower == "hi":
        print("Hello!")
    elif x_lower == "hello":
        print("Hi!")
    elif x_lower == "how are you":
        print("I am fine! How are you?")
    elif x_lower == "i am fine":
        print("Nice!")
    elif x_lower == "i am not fine":
        print("Oh, Sorry to know that")
    elif x_lower == "exit":
        print("Goodbye!")
        break  # 跳出循环,结束程序
    else:
        print("I am not sure I understand")

代码关键点解释:

  • while True:这会创建一个无限循环,直到遇到break语句才会停止。
  • x.lower():把用户输入的文本转成小写,这样不管用户输入"Hi"、"HI"还是"hi",都能匹配到对应的回复,提升聊天的友好度。
  • elif x_lower == "exit" + break:给用户一个主动退出的途径,不然程序会一直运行下去,只能手动强制终止。

如果不想加退出条件,单纯让程序一直运行,也可以去掉退出的分支,但我还是建议加上,这样体验会更人性化~

内容的提问来源于stack exchange,提问作者Augustine

火山引擎 最新活动