2025年6月21和22日复习和预习(python)

一、作业内容

(一)知识点回顾

  1. 用户输入处理
    • 使用input()函数获取用户输入的字符串,并存储到变量中。
  2. 条件判断语句
    • if-elif-else结构:根据不同条件执行相应代码块,适用于多分支判断。
  3. 语音合成技术
    • 导入pyttsx3库实现文本转语音功能,通过pyttsx3.speak()方法将文本转换为语音输出。

(二)练习题

  1. 基础功能实现
    • 编写程序,创建一个简易聊天机器人,能够根据用户输入的问题给出预设回答。
    • 实现至少 3 个不同问题的回答,如询问名字、天气、兴趣爱好等。
  2. 功能扩展
    • 添加语音合成功能,让聊天机器人能够朗读回答内容。
    • 优化对话逻辑,当用户输入预设问题以外的内容时,给出合适的回应。

二、考点重点和难点

(一)考点重点

  1. 条件判断语句的应用
    • 掌握if-elif-else结构的语法,能够根据不同条件执行相应代码。
  2. 字符串比较操作
    • 理解字符串相等比较(==)的用法,注意大小写敏感问题。
  3. 第三方库的使用
    • 学会导入和使用pyttsx3库实现语音合成功能。

(二)难点

  1. 复杂对话逻辑设计
    • 设计合理的问题分类和回答逻辑,处理多轮对话和模糊提问。
  2. 异常处理机制
    • 考虑用户输入非预期内容时的程序行为,避免因输入错误导致程序崩溃。
  3. 语音合成参数调整
    • 掌握pyttsx3库的高级用法,如调整语速、音量和语音类型。

三、题目设计

(一)填空题

  1. Python 中获取用户输入的函数是______。
  2. 使用pyttsx3库时,需要先导入该库,导入语句为______。
  3. 在条件判断中,判断两个字符串是否相等应使用______运算符。

(二)选择题

  1. 以下关于input()函数的说法正确的是( )
    A. 返回值类型始终为字符串
    B. 可以指定输入数据的类型
    C. 只能在控制台使用
    D. 输入完成后自动换行
  2. 执行以下代码,输出结果是( )

python

运行

a = "Hello"
b = "hello"
print(a == b)

A. True
B. False
C. 程序报错
D. 无输出
3. pyttsx3.speak()方法的作用是( )
A. 播放音频文件
B. 将文本转换为语音输出
C. 录制语音
D. 获取语音输入

(三)判断题

  1. 在 Python 中,if语句的条件表达式可以省略括号。( )
  2. pyttsx3库是 Python 的内置库,无需额外安装。( )
  3. 字符串比较时,"Python" 和 "python" 被视为相同字符串。( )

(四)编程题

  1. 基础版聊天机器人

    • 编写程序,实现一个简单的文本聊天机器人。
    • 支持以下问题:
      • 询问名字:回答 "我是智能聊天助手"
      • 询问天气:回答 "今天天气晴朗,气温 25℃"
      • 询问时间:回答 "现在是北京时间 XX:XX"(使用当前系统时间)
    • 对于其他问题,回答 "我还在学习中,暂时无法回答"。
  2. 升级版聊天机器人

    • 在基础版的基础上添加语音合成功能,让机器人能够朗读回答内容。
    • 增加至少两个新问题和对应回答,如询问爱好、推荐电影等。
    • 优化对话逻辑,当用户连续输入 3 次非预设问题时,提示 "我们换个话题吧"。
  3. 拓展挑战

    • 实现简单的数学计算功能,例如用户输入 "1+2",返回计算结果 "等于 3"。
    • 添加多轮对话支持,例如用户询问 "推荐电影" 后,进一步询问 "什么类型",并根据类型给出推荐。

# -*- coding: UTF-8 -*-
#能说“你好”两个字while True:import pyttsx3a=input("输入:")if a=="你叫什么":pyttsx3.speak("我叫豆包")elif a=="你几岁了":pyttsx3.speak("四岁了")else:pyttsx3.speak("这个问题我还没有学习")

以上内容围绕 Python 简易聊天机器人展开,通过系统的作业设计帮助学生掌握用户输入处理、条件判断和第三方库使用等核心技能。编程题部分采用循序渐进的方式,从基础功能到综合应用,逐步提升学生的编程能力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/86204.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/86204.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue 样式穿透语法大全(涵盖 Vue2、Vue3、Less、Scss 等)

1. 什么是样式穿透? 样式穿透是在使用 Vue 组件时,为了修改子组件或第三方组件的样式而使用的一种特殊语法。当我们使用 scoped 样式时,由于样式被限制在当前组件内,要修改子组件的样式就需要使用样式穿透。 2. 为什么需要样式穿…

Python 属性查找:深入理解__getattribute__与__getattr__

目录 一、__getattribute__方法详解 1.1 基本概念 1.2 示例分析 1.3 注意事项 二、__getattr__方法详解 2.1 基本概念 2.2 示例分析 2.3 注意事项 三、__getattribute__与__getattr__的区别对比 3.1 调用时机 3.2 应用场景 3.3 性能影响 四、属性查找顺序 属性查找…

打表法从原理到实战详解

打表法结合经典案例从原理到实战详解 一、打表法基本信息1.1 打表法定义1.2 打表法适用场景1.3 打表法的优缺点 二、打表法经典案例解析2.1 快速计算斐波那契数列2.1.1 问题描述2.1.2 打表思路2.1.3 Java代码实现2.1.4 复杂度分析 2.2 快速判断质数(埃氏筛法结合打表…

(LeetCode 面试经典 150 题 )121. 买卖股票的最佳时机 (遍历)

题目&#xff1a;121. 买卖股票的最佳时机 思路&#xff1a;遍历&#xff0c;维护已遍历过的元素中的最小值&#xff0c;时间复杂度0(n)。 C版本&#xff1a; class Solution { public:int maxProfit(vector<int>& prices) {int mnprices[0];int mx0;for(int i1;i&…

(洛谷)P4447 [AHOI2018初中组] 分组

题目描述 小可可的学校信息组总共有 n 个队员&#xff0c;每个人都有一个实力值 ai​。现在&#xff0c;一年一度的编程大赛就要到了&#xff0c;小可可的学校获得了若干个参赛名额&#xff0c;教练决定把学校信息组的 n 个队员分成若干个小组去参加这场比赛。 但是每个队员都…

PLA/PHA生物降解化妆品包装材料的稳定性与货架期契合性研究

更多案例&#xff1a;https://npmatc.niicapm.com/ 在可持续发展理念的推动下&#xff0c;化妆品行业正经历一场绿色变革。环保聚合物在包装领域的应用已成为重要趋势&#xff0c;这不仅源于消费者对生态友好产品的需求&#xff0c;更基于全球塑料污染治理的紧迫性。化妆品包装…

STM32[笔记]--4.嵌入式硬件基础

4.嵌入式硬件基础 4.1认识上官二号开发板 主控芯片:STM32F103C8T6高速晶振:8M低速晶振:32.768kLED:5颗KEY:3个 主控芯片内部的资源如下项目介绍内核Cortex-M3Flsah64K*8bitSRAM20K*8bitGPIO37个GPIO,分别为PA0-PB15,PC13-PC15,PD0-PD1ADC2个12bitADC合计12了通道,外部通…

【LLaMA-Factory 实战系列】一、数据准备篇 - 从文本到多模态的完整流程

【LLaMA-Factory 实战系列】一、数据准备篇 - 从文本到多模态的完整流程 1. 引言2. LLaMA-Factory 数据格式概述2.1 Alpaca 格式2.2 ShareGPT 格式 3. 文本数据准备3.1 Alpaca 格式示例3.2 ShareGPT 格式示例3.3 预训练数据格式 4. 多模态数据准备4.1 图像数据准备4.2 视频数据…

JuiceFS 集群部署详细指南:使用 SeaweedFS 作为数据存储,ETCD 作为元数据存储

1. 概述 本指南将详细介绍如何部署一个 JuiceFS 集群,其中数据存储层采用高性能的分布式对象存储 SeaweedFS,元数据存储层采用强一致性的分布式键值存储 ETCD。这种组合方案旨在为用户提供一个高性能、高可用、易于扩展且数据强一致的分布式文件系统解决方案,特别适用于云原…

【数字后端】- 什么是NDR规则?

NDR是指与工艺库的默认规则&#xff08;DR&#xff09;不同的特殊物理规则&#xff1a; 常见的有&#xff1a; 间距规则&#xff08;spacing&#xff09;&#xff1a;增加信号线与邻近线之间的距离&#xff0c;降低Crosstalk串扰。线宽规则&#xff08;width&#xff09;&…

B2B 商城定制的优势:解锁企业数字化转型新动力

精准适配业务流程&#xff0c;贴合企业运营特色​ 每一家企业都有独特的业务流程、运营模式与管理需求。标准化的 B2B 商城往往难以完全满足企业个性化的业务需求&#xff0c;而定制化商城则能够深入剖析企业业务细节&#xff0c;从采购、销售、库存管理到财务管理等全流程&am…

osg实例绘制

#include <osg/Geometry> #include <osg/Geode> #include <osg/Program> #include <osg/VertexAttribDivisor> #include <osgViewer/Viewer> #include <osgViewer/ViewerEventHandlers> #include <random> // 创建单个立方体几何体&…

Qt面试题汇总

目录 1. 简单说一下Qt 2. 用过QT中的哪些模块&#xff1f; 3. 说一些你常用的Qt控件&#xff1f; 4. Qt中如何创建一个窗口&#xff1f; 5. 说一下QT中创建控件的方式? 6. 说一下Qt中信号和槽机制是什么&#xff1f; 7. 说一下QT信号与槽机制原理&#xff1f; 8. 如何自…

【stm32】标准库学习——USART串口

目录 一、USART串口 1.串口参数及时序 2.USART简介 3.配置USART基本结构 4.初始化模板 (1) 接收一个数据 (2) 发送一个数据 一、USART串口 1.串口参数及时序 波特率:串口通信的速率起始位:标志一个数据帧的开始&#xff0c;固定为低电平数据位:数据帧的有效载荷&#…

黑马Day01-03集开始

03集 JSX jsx里面可以写 表达式,表达式里面会返回一个值js语法的扩展,需要babel解析才能够在浏览器运行 语法 使用花括号 {} ,在里面进行编写jsx代码04集 高频场景 使用引号传递字符串 使用js变量 函数调用和方法调用 使用js对象.js自带的一些对象或new出来的对象{&quo…

vue 路由学习

params 不能传递对象类型如 [ ]和{ } query传参 总结&#xff1a; query传参既可以通过name 和path 找到路由规则里的组件&#xff0c;所以为了统一避免非必要麻烦 无论是使用query传参还是 params传参 映射路由建议统一使用 name 进阶 props的使用 备注&#xff1a;资料来自…

JDK安装全攻略:开启Java编程大门

目录 一、安装前准备1.1 确认系统类型1.2 检查系统要求1.3 下载 JDK 安装包 二、Windows 系统下 JDK 安装步骤2.1 双击安装包2.2 选择安装目录2.3 完成安装 三、Windows 系统环境变量配置3.1 打开环境变量设置3.2 配置 JAVA_HOME 变量3.3 配置 Path 变量3.4 验证配置 四、Linux…

《P1253 扶苏的问题》

题目描述 给定一个长度为 n 的序列 a&#xff0c;要求支持如下三个操作&#xff1a; 给定区间 [l,r]&#xff0c;将区间内每个数都修改为 x。给定区间 [l,r]&#xff0c;将区间内每个数都加上 x。给定区间 [l,r]&#xff0c;求区间内的最大值。 输入格式 第一行是两个整数&…

09.【C语言学习笔记】指针(一)

目录 1. 内存和地址 1.1 内存 1.2 究竟该如何理解编址 2. 指针变量和地址 2.1 取地址操作符&#xff08;&&#xff09; 2.2 指针变量和解引用操作符&#xff08;*&#xff09; 2.2.1 指针变量 2.2.2 如何拆解指针类型 2.2.3 解引用操作符 * 2.3 指针变量的大小…

Java中static关键字的作用与使用详解

static是Java中一个非常重要的关键字&#xff0c;它可以用来修饰变量、方法、代码块和嵌套类。下面将从多个方面详细解释static的作用和使用方法。 一、static变量&#xff08;类变量&#xff09; 作用 static变量属于类&#xff0c;而不是类的某个实例。所有实例共享同一个s…