一、作业内容
(一)知识点回顾
- 用户输入处理
- 使用
input()
函数获取用户输入的字符串,并存储到变量中。
- 使用
- 条件判断语句
if-elif-else
结构:根据不同条件执行相应代码块,适用于多分支判断。
- 语音合成技术
- 导入
pyttsx3
库实现文本转语音功能,通过pyttsx3.speak()
方法将文本转换为语音输出。
- 导入
(二)练习题
- 基础功能实现
- 编写程序,创建一个简易聊天机器人,能够根据用户输入的问题给出预设回答。
- 实现至少 3 个不同问题的回答,如询问名字、天气、兴趣爱好等。
- 功能扩展
- 添加语音合成功能,让聊天机器人能够朗读回答内容。
- 优化对话逻辑,当用户输入预设问题以外的内容时,给出合适的回应。
二、考点重点和难点
(一)考点重点
- 条件判断语句的应用
- 掌握
if-elif-else
结构的语法,能够根据不同条件执行相应代码。
- 掌握
- 字符串比较操作
- 理解字符串相等比较(
==
)的用法,注意大小写敏感问题。
- 理解字符串相等比较(
- 第三方库的使用
- 学会导入和使用
pyttsx3
库实现语音合成功能。
- 学会导入和使用
(二)难点
- 复杂对话逻辑设计
- 设计合理的问题分类和回答逻辑,处理多轮对话和模糊提问。
- 异常处理机制
- 考虑用户输入非预期内容时的程序行为,避免因输入错误导致程序崩溃。
- 语音合成参数调整
- 掌握
pyttsx3
库的高级用法,如调整语速、音量和语音类型。
- 掌握
三、题目设计
(一)填空题
- Python 中获取用户输入的函数是______。
- 使用
pyttsx3
库时,需要先导入该库,导入语句为______。 - 在条件判断中,判断两个字符串是否相等应使用______运算符。
(二)选择题
- 以下关于
input()
函数的说法正确的是( )
A. 返回值类型始终为字符串
B. 可以指定输入数据的类型
C. 只能在控制台使用
D. 输入完成后自动换行 - 执行以下代码,输出结果是( )
python
运行
a = "Hello"
b = "hello"
print(a == b)
A. True
B. False
C. 程序报错
D. 无输出
3. pyttsx3.speak()
方法的作用是( )
A. 播放音频文件
B. 将文本转换为语音输出
C. 录制语音
D. 获取语音输入
(三)判断题
- 在 Python 中,
if
语句的条件表达式可以省略括号。( ) pyttsx3
库是 Python 的内置库,无需额外安装。( )- 字符串比较时,"Python" 和 "python" 被视为相同字符串。( )
(四)编程题
-
基础版聊天机器人
- 编写程序,实现一个简单的文本聊天机器人。
- 支持以下问题:
- 询问名字:回答 "我是智能聊天助手"
- 询问天气:回答 "今天天气晴朗,气温 25℃"
- 询问时间:回答 "现在是北京时间 XX:XX"(使用当前系统时间)
- 对于其他问题,回答 "我还在学习中,暂时无法回答"。
-
升级版聊天机器人
- 在基础版的基础上添加语音合成功能,让机器人能够朗读回答内容。
- 增加至少两个新问题和对应回答,如询问爱好、推荐电影等。
- 优化对话逻辑,当用户连续输入 3 次非预设问题时,提示 "我们换个话题吧"。
-
拓展挑战
- 实现简单的数学计算功能,例如用户输入 "1+2",返回计算结果 "等于 3"。
- 添加多轮对话支持,例如用户询问 "推荐电影" 后,进一步询问 "什么类型",并根据类型给出推荐。
# -*- coding: UTF-8 -*- #能说“你好”两个字while True:import pyttsx3a=input("输入:")if a=="你叫什么":pyttsx3.speak("我叫豆包")elif a=="你几岁了":pyttsx3.speak("四岁了")else:pyttsx3.speak("这个问题我还没有学习")
以上内容围绕 Python 简易聊天机器人展开,通过系统的作业设计帮助学生掌握用户输入处理、条件判断和第三方库使用等核心技能。编程题部分采用循序渐进的方式,从基础功能到综合应用,逐步提升学生的编程能力。