当前位置: 首页 > news >正文

Streamlit 交互与人python工智能网站开发基础

一、教学目标

  1. 知识目标:了解 Streamlit 框架的基本功能,掌握streamlit_option_menu插件的使用,理解条件判断在交互逻辑中的应用。
  2. 技能目标:能独立编写带侧边栏菜单的 Streamlit 应用,实现简单的交互功能(如气球、下雪动画及语音播报)。
  3. 情感目标:培养对 PythonWeb 开发的兴趣,提升利用编程解决实际问题的能力。

二、教学重点

  1. Streamlit 的基本语法(如streamlit.sidebarstreamlit.balloons()等函数的使用)。
  2. streamlit_option_menu插件的安装与菜单创建(option_menu函数参数含义)。
  3. 条件判断语句(if)与交互逻辑的结合(根据菜单选择执行对应功能)。

三、教学难点

  1. 第三方插件的安装与导入(streamlit_option_menupyttsx3的环境配置)。
  2. 交互逻辑的实现:菜单选择值(a)与功能执行的对应关系。
  3. 语音播报功能(pyttsx3)的跨平台兼容性(Windows/macOS 可能需要不同配置)。

四、考点解析

  1. Streamlit 的核心特点:轻量级 PythonWeb 框架,无需前端知识即可快速开发交互式应用。
  2. option_menu函数参数:menu_title(菜单标题)、options(菜单项列表)、icons(图标列表)的作用。
  3. 条件判断的应用:通过if a == "xxx"实现不同菜单对应的功能分支。
  4. 第三方库的导入时机:语音播报功能在需要时才导入(import pyttsx3),优化程序效率。

五、课堂练习

填空题(10 道)

  1. Streamlit 中,创建侧边栏内容需使用______对象。
  2. streamlit_option_menu插件的核心函数是______。
  3. 代码中option_menu函数的icons参数用于设置菜单项的______。
  4. streamlit.balloons()函数的作用是在页面显示______动画。
  5. 实现 “下雪” 效果的函数是______。
  6. 变量a存储的是用户选择的______。
  7. 语音播报功能依赖的库是______。
  8. pyttsx3.speak("你好")的作用是______。
  9. 代码中通过______语句判断用户选择的菜单项并执行对应功能。
  10. 运行 Streamlit 应用的命令是______。

选择题(10 道)

  1. 以下哪个是 Streamlit 的正确安装命令?( )A. pip install streamlit-option-menuB. pip install streamlitC. pip install pyttsx3D. conda install streamlit

  2. streamlit.sidebar的作用是( )A. 创建主页面内容B. 创建侧边栏内容C. 导入第三方库D. 执行动画效果

  3. option_menu函数中,options参数的数据类型是( )A. 字符串B. 列表C. 字典D. 整数

  4. 代码中a = option_menu(...)的含义是( )A. 定义菜单标题B. 将用户选择的菜单项赋值给变量aC. 隐藏菜单D. 执行菜单对应的功能

  5. 以下哪个函数能触发页面显示气球动画?( )A. streamlit.snow()B. streamlit.balloons()C. streamlit.animate()D. streamlit.show()

  6. 语音播报功能中,pyttsx3.speak()的参数类型是( )A. 整数B. 列表C. 字符串D. 布尔值

  7. 代码中if a == "说话":的作用是( )A. 判断用户是否点击了 “说话” 按钮B. 判断用户是否选择了 “说话” 菜单项C. 隐藏 “说话” 菜单项D. 定义 “说话” 功能的参数

  8. 以下哪个插件用于创建带图标的侧边栏菜单?( )A. pyttsx3B. streamlitC. streamlit_option_menuD. matplotlib

  9. 运行 Streamlit 应用的正确命令是( )A. python 文件名.pyB. streamlit run 文件名.pyC. run streamlit 文件名.pyD. streamlit 文件名.py

  10. 若用户选择 “下雪” 菜单项,代码会执行哪个函数?( )A. streamlit.balloons()B. pyttsx3.speak()C. streamlit.snow()D. option_menu()

编程题(10 道)

  1. 写出安装streamlit_option_menu插件的命令。
  2. 补全代码:使用streamlit.sidebar创建一个标题为 “我的菜单” 的侧边栏。
  3. 写出option_menu函数中,设置菜单项为 ["音乐","视频"]、图标为 ["music","film"] 的参数。
  4. 编写代码:当用户选择 “音乐” 菜单项时,在页面显示文字 “正在播放音乐”。
  5. 补全代码:实现 “烟花” 动画(提示:使用streamlit.experimental_set_query_params以外的动画函数)。
  6. 编写代码:导入pyttsx3库,并让程序播报 “欢迎使用”。
  7. 修改原代码,新增一个菜单项 “提示”,选择后显示文字 “这是一个提示”。
  8. 编写代码:使用option_menu创建一个无图标的侧边栏菜单,菜单项为 ["首页","设置"]。
  9. 补全代码:当变量a的值为 “设置” 时,显示文字 “进入设置页面”。
  10. 综合题:创建一个侧边栏菜单,包含 ["计算","时间"] 两个选项,选择 “计算” 时显示 1+1 的结果,选择 “时间” 时显示当前时间(提示:使用datetime库)。

六、答案

填空题答案

  1. streamlit.sidebar
  2. option_menu
  3. 图标
  4. 气球
  5. streamlit.snow()
  6. 菜单项(或菜单选项)
  7. pyttsx3
  8. 播报文字 “你好”
  9. if(条件判断)
  10. streamlit run 文件名.py

选择题答案

  1. B
  2. B
  3. B
  4. B
  5. B
  6. C
  7. B
  8. C
  9. B
  10. C

编程题答案

  1. pip install streamlit-option-menu

python

运行

import streamlit as st
with st.sidebar:st.title("我的菜单")

python

运行

options=["音乐","视频"], icons=["music","film"]

python

运行

import streamlit as st
from streamlit_option_menu import option_menu
with st.sidebar:a = option_menu("菜单", ["音乐","视频"])
if a == "音乐":st.write("正在播放音乐")

python

运行

import streamlit as st
st.balloons()  # 烟花类动画可使用气球动画替代(Streamlit内置无烟花函数,此为最接近效果)

python

运行

import pyttsx3
pyttsx3.speak("欢迎使用")

python

运行

import streamlit as st
from streamlit_option_menu import option_menu
with st.sidebar:a = option_menu("子豪网站", ["气球","下雪","说话","提示"], icons=["yin-yang","snow","rocket","info"])
if a == "气球":st.balloons()
if a == "下雪":st.snow()
if a == "说话":import pyttsx3pyttsx3.speak("你好")
if a == "提示":st.write("这是一个提示")

python

运行

import streamlit as st
from streamlit_option_menu import option_menu
with st.sidebar:a = option_menu("菜单", ["首页","设置"], icons=None)

python

运行

if a == "设置":st.write("进入设置页面")

python

运行

import streamlit as st
from streamlit_option_menu import option_menu
import datetimewith st.sidebar:a = option_menu("功能菜单", ["计算","时间"], icons=["calculator","clock"])if a == "计算":st.write(f"1+1的结果是:{1+1}")
if a == "时间":st.write(f"当前时间:{datetime.datetime.now()}")
http://www.dtcms.com/a/499807.html

相关文章:

  • 湖北省建设厅官方网站文件福建省龙岩市新罗区建设局网站
  • 【点云】pointnet网络梳理
  • 我编译好的opencv库与ros2 humble库里面的opencv库的解决方案
  • 免费seo网站自动推广wordpress电子商务站
  • 不同程序建的网站风格网站名称 备案
  • 鸿蒙 emitter 和 eventHub 的区别
  • Java中Elasticsearch完全指南:从零基础到实战应用
  • 网站开发承包合同网站地图怎么弄
  • 【算法】day7 滑动窗口+二分查找
  • Kylin Linux Advanced Server V10 (Sword)上离线安装Ansible
  • 大学生做的广告短视频网站山东省建设教育集团网站首页
  • LeetCode 面试经典 150_栈_最小栈(54_155_C++_中等)(辅助栈)
  • 西安网站建设服务商十强文明网站建设
  • 互动网站如何做做网站和做程序一样吗
  • mockpuls可以做网站吗湖南招聘信息网官网
  • 【Qt】信号与槽(Signal and Slot)- 简易计算器
  • 2.5 网口
  • 肤契:全域协议版 IV 樱花町的晨光
  • dede 建设网站做个普通的网站多少钱
  • Nivo图表库全面指南:配置与用法详解
  • 典型营销型网站有哪些惠阳住房和城乡建设局网站
  • 算法题——贪心算法
  • 安装WordPress时没生成wp-config.php的解决方法
  • MovieNet(A holistic dataset for movie understanding) :面向电影理解的多模态综合数据集与工具链
  • 如何关联网站与网站html视频网站模板
  • 触摸未来2025-10-18:生成文字的小宇宙矩阵溯源
  • TypeScript 基础语法
  • 网站建设的栏目内容是项目建设网站
  • 货物公司网站建设方案济南网站优化排名
  • 论坛网站建设视频教程沈阳专业网站建设