1.主要功能特点:使用正则表达式进行模式匹配(支持大小写),随机返回多种预设回复增加趣味性,包含常用场景的对话规则,支持多种退出指令,处理空输入的情况。
------------★Python练手项目源码★------------
Python项目29:学生缴费管理系统(Tkinter+CSV)
Python项目28:设计日志管理系统2.0(Tkinter+Json)
Python项目27:用Tkinter写日志管理系统(中下等难度)
Python项目26:设计学生成绩管理系统(简易版)
Python项目25:带滚动效果的商场抽奖系统(安排!!!)
Python项目24:基于Tkinter图形化界面,实现的学生课堂点名系统
Python项目23:(简易版)年会员工抽奖程序
Python项目22:一个简单的记账系统(收入+支出+查询)
Python项目21:双色球历史数据爬虫+数据分析小工具
Python项目源码20:银行管理系统(开户、查询、取款、存款、转账、锁定、解锁、退出)
Python项目19:学员信息管理系统(简易版)
Python项目18:使用Pillow模块,随机生成4位数的图片验证码
Python项目17:教你制作一副帅气的春联
Python项目16:教你使用pillow把女神的图片,添加表白文字。
Python项目15:Pygame制作,新年动态烟花
Python项目14:使用random,模拟扑克牌发牌+猜单词游戏
Python项目12:破解zip压缩包的密码
Python项目10:使用Tkinter批量新建文件夹
Python项目09:使用filestools模块,批量添加图片水印
Python小项目05:使用pywifi模块,暴力破解WIFI密码 !!亲测有效
Python经典小游戏02:字母数字代码雨
2.扩展建议:添加更多匹配规则到rules字典,集成第三方API(如天气查询),添加自然语言处理库(如NLTK),实现上下文记忆功能,添加表情符号支持。
3.示例对话:
聊天机器人已启动!输入’退出’结束对话
你:你好呀
机器人:你好呀,有什么可以帮助你?
你:今天天气如何?
机器人:最近天气不错
你:你叫什么名字
机器人:你可以叫我小智
你:退出
机器人:bye~
# -*- coding: utf-8 -*-
# @Author : 小红牛
# 微信公众号:WdPython
import random
import re
# 定义规则和回复
rules = {
r'你好|嗨|hello': ['你好!', '嗨~', '你好呀,有什么可以帮助你?'],
r'你叫什么名字|你是谁': ['我是一个聊天机器人', '你可以叫我小智', '我是Python编写的机器人'],
r'天气|下雨|晴天': ['今天晴转多云', '预计明天有阵雨', '最近天气不错'],
r'退出|bye|再见': ['再见!', '下次再聊!', 'bye~'],
r'.*': ['我不太明白,能换个说法吗?', '这个话题我不太了解呢', '你可以问点别的哦']
}
def get_response(user_input):
# 遍历所有规则
for pattern, responses in rules.items():
# 使用正则匹配模式(忽略大小写)
if re.search(pattern, user_input, re.IGNORECASE):
return random.choice(responses)
return "发生了一些错误"
print("聊天机器人已启动!输入'退出'结束对话")
while True:
user_input = input("你:").strip()
if not user_input:
continue
response = get_response(user_input)
print(f"机器人:{response}")
# 检查退出条件
if re.search(r'退出|bye|再见', user_input, re.I):
break
完毕!!感谢您的收看
----------★★跳转到历史博文集合★★----------