Streamlit学习笔记2

GitHub项目3

python 复制代码
git clone https://github.com/kratin01/Basics_Of_Streamlit.git
cd Basics_Of_Streamlit
pip install -r requirements.txt  
streamlit run 01Basic.py

requests

"Python 的浏览器",用来向任意网址发 HTTP 请求

披萨点单小应用,02Widgets.py代码解释
python 复制代码
import streamlit as st
from datetime import date
  • 导入 Streamlit 和日期工具(用来计算年龄)。
python 复制代码
st.image("https://media.istockphoto.com/...")  
  • 在网页最上面显示一张诱人的椒盐披萨图片(从网络加载)。
python 复制代码
st.title("Pizza Order App🍕")
  • 显示大标题:"Pizza Order App🍕"。
python 复制代码
name = st.text_input("Enter Your Name")
  • 出现一个文本输入框,让用户输入姓名,输入的内容会存到 name 变量里。
python 复制代码
DOB = st.date_input("Enter Your Date of Birth")
  • 出现一个日历选择器,让用户选出生日期,选好的日期存到 DOB 变量(类型是 date 对象)。
python 复制代码
if st.button("Save Details"):
    st.success(f"Details Saved Successfully!")
    st.write(f"Hey {name}, we are happy to serving pizza to a person who is {date.today().year - DOB.year} years old")
    st.balloons()
  • 放一个"Save Details"按钮。
  • 用户点按钮后:
    • 显示绿色成功提示。
    • 计算并显示年龄(当前年份减出生年份,注意:没考虑月份,简单粗暴版)。
    • 屏幕上放一群彩色气球动画🎈超可爱!
python 复制代码
category = st.selectbox("Select Your Favorite Pizza Category", ["Veg", "Non-Veg"])
  • 下拉框选择披萨类别:素(Veg)还是荤(Non-Veg)。

然后根据用户选的类别,显示不同的披萨选项(用 if-else 分支):
如果选 Veg(素披萨)

python 复制代码
if category=="Veg":
    pizza = st.selectbox("Select the pizza you want", ["Margherita", "Farmhouse", "Peppy Paneer"])
  • 显示素披萨选项:Margherita、Farmhouse、Peppy Paneer。
    如果选 Non-Veg(荤披萨)
python 复制代码
else:
    pizza = st.selectbox("Select the pizza you want", ["Chicken Tandoori", "Chicken BBQ", "Chicken Supreme"])
  • 显示荤披萨选项:Chicken Tandoori、Chicken BBQ、Chicken Supreme。
python 复制代码
    if pizza:  # 只要用户选了披萨,就显示下面内容
        slider = st.select_slider("Select the size of pizza", options=["Small", "Medium", "Large"])
        if st.button("Order Now"):
            st.success(f"Hey {name}, your {category} {pizza} pizza of size {slider} will be delivered to you in 30 minutes")
  • 用户选好披萨后,出现一个滑动选择器选大小(Small/Medium/Large)。
  • 出现"Order Now"按钮。
  • 点击后显示绿色成功消息:个性化点单确认,比如:"Hey 小明, your Veg Margherita pizza of size Large will be delivered to you in 30 minutes"
    最后是给这个 App 打分的部分:
python 复制代码
st.subheader("Rate the Pizza Order App⭐")
rating = st.slider("Select a rating", 1, 5, 3)
  • 标题 + 一个从1到5的滑块打分(默认3星)。
python 复制代码
if st.button("Submit Rating"):
    if rating < 3:
        st.warning("We will try to improve the app")
    else:
        st.balloons()
        st.success("Thank you for your positive feedback!")
  • 点击提交评分后:
    • 如果打分 < 3 星:显示黄色警告"我们要改进"。
    • 如果 ≥ 3 星:放气球动画 + 绿色感谢消息。
学到了什么 Streamlit 控件(Widgets)
  • st.image() 显示图片
  • st.title() / st.subheader() 标题
  • st.text_input() 文本输入
  • st.date_input() 日期选择
  • st.selectbox() 下拉选择
  • st.select_slider() 滑动选择(带标签的)
  • st.slider() 普通滑块
  • st.button() 按钮
  • st.success() / st.warning() 彩色提示
  • st.balloons() 气球动画(庆祝用)
  • st.write() 显示文字
03Layouts学习 Streamlit 布局
0404DataHandling 数据处理
05WebRequest网络请求
相关推荐
sheeta19981 天前
LeetCode 每日一题笔记 日期:2025.03.21 题目:3643.垂直翻转子矩阵
笔记·leetcode·矩阵
测试_AI_一辰1 天前
AI测试工程笔记 05:AI评测实践(从数据集到自动评测闭环)
人工智能·笔记·功能测试·自动化·ai编程
Edward111111111 天前
3月20包装类
学习
电子云与长程纠缠1 天前
Godot学习03 - 实例化、层级访问、Export
android·学习·godot
青桔柠薯片1 天前
51单片机(STC89C52RC)学习总结:从裸机编程到外设驱动
嵌入式硬件·学习·51单片机
今儿敲了吗1 天前
python基础学习笔记第六章——函数进阶
笔记·python·学习
2501_918126911 天前
学习所有6502写游戏动画的语句
汇编·嵌入式硬件·学习·程序人生·游戏
左左右右左右摇晃1 天前
JVM 笔记--分代工程以及分代的算法
jvm·笔记
-Springer-1 天前
STM32 学习 —— 个人学习笔记9-3(FlyMcu 串口下载)
笔记·stm32·学习
weixin_458872611 天前
东华复试OJ每日3题打卡·复盘103~105
学习