如何使用Python编程来创建一个基于简单规则的聊天机器人,当用户询问‘今天天气如何?’时,它能依据预先设定的天气数据提供回复?请展示完整的代码示例。
时间: 2024-12-23 20:18:22 浏览: 0
创建一个基于简单规则的聊天机器人,我们可以使用Python的基础条件判断和字符串匹配。下面是一个基础示例,假设我们有一个静态的天气数据字典:
```python
# 预设的天气数据字典
weather_data = {
"北京": "今天北京天气晴朗,温度25℃",
"上海": "上海今天多云,温度28℃",
"广州": "广州今天炎热,温度32℃",
}
def simple_chat_robot(user_input):
# 解析用户查询,提取城市名
query_words = user_input.split()
if len(query_words) >= 2 and query_words[0] == '今天':
city = query_words[1]
if city in weather_data:
return weather_data[city]
else:
return "对不起,我没有关于{}的天气信息。".format(city)
else:
return "抱歉,我没听清楚你的问题,能否告诉我你要查询哪里的天气?"
# 用户输入
user_query = input("你想查询哪天的天气?例如:今天北京天气如何?")
# 聊天机器人交互
response = simple_chat_robot(user_query)
print(response)
#
相关问题
用python写一个聊天脚本
好的,我可以为您提供一个基于Python编写的简单聊天脚本,您可以使用它和我进行交互。以下是聊天脚本的代码:
```python
import random
responses = {
"你好": ["你好!", "您好!"],
"你是谁": ["我是C知道", "我是一个聊天机器人", "我是由CSDN开发的AI"],
"你喜欢做什么": ["我喜欢聊天", "我喜欢回答问题"],
"天气怎么样": ["我不知道", "最好去查看天气预报"],
"lua closure factory 完整代码": ["抱歉,我不是编程机器人,我不能提供您代码"],
"中文加密": ["中文加密是通过将中文字符转换为其他字符或码来转换原文的方法", "通过替换、加密算法等方式实现中文加密"],
}
print("C知道:您好,请问有什么问题需要我来回答呢?")
while True:
user_input = input("用户:")
user_input.strip()
if user_input.lower() == "退出":
print("C知道:再见!")
break
answered = False
for key in responses.keys():
if key in user_input:
print("C知道:" + random.choice(responses[key]))
answered = True
break
if not answered:
print("C知道:很抱歉,我不理解您的问题!请问还有什么我可以为您做的?")
```
请注意,在这个聊天脚本中,我只能回答与我预先准备好的问题。如果您有其他问题,我可能无法回答。
阅读全文