python中还在绞尽脑汁写前端?streamlit帮你解决!!

上图表示出来streamlit库的优点,它可以让我们不用前端代码,全程只是在pycharm中,创建出便捷简单的web界面。

import streamlit as st
st.title('智能充电系统')
st.write()

user_input=st.text_input('请输入充电账号')
if user_input:
    st.write(f'您好, {user_input}!')
if st.button('点击我'):
    st.write('请继续执行操作')
time=st.slider('请选择充电时长: ',0,1440,25)
st.write(f'你的充电时长是{time}分钟')

if st.checkbox('显示数据'):
    st.write('这里可以显示数据')

option=st.selectbox('选择一个选项:',['即刻充电','预约充电'])
st.write(f"你选择了{option}")

options=st.multiselect('选择充电桩: ',['1号','2号','3号','4号','5号'])
st.write(f'你选择了{options}')
power_option = st.selectbox('选择充电桩功率等级:', ['低功率', '中功率', '高功率'])
power_rates = {
    '低功率': 0.05,  # 每分钟收费
    '中功率': 0.1,  # 每分钟收费
    '高功率': 0.2   # 每分钟收费
}
rate = power_rates[power_option]
st.write(f'你选择了 {power_option},每分钟收费 {rate} 元')

# 计算费用
cost = time * rate
st.write(f'预计充电费用为: {cost:.2f} 元')

# 按钮以确认并显示总费用
if st.button('确认支付'):
    st.write('支付成功')
import pandas as pd
import numpy as np

data=pd.DataFrame({
    'x':np.random.randn(100),
    'y':np.random.randn(100)
})
st.line_chart(data)
map_data=pd.DataFrame(
    np.random(1000,2)/[50,50]+[37.7,-122.41],
    columns=['lat','lon']
)

读者可以看到,我并没有编写任何的前端代码,只是依靠这个streamlit库生成的web界面。首先我们让用户输入用户名,输入之后立即返回您好+用户名,生成一个滑栏,范围是从0到1440,打开网页时固定到25,并下面实时显示你选择的充电时长,下面有一个显示数据的按钮,勾选之后显示这里可以显示数据。这一步可以根据读者自身的需要加入事件监听器,丰富前端web网页功能。下面代码都是定义选择,供用户选择,根据选择功率高低不同实行阶段性收费。最后展示用户选择的充电桩功率等级,每分钟收费,最后计算总费用。

怎么在terminal中启动streamlit?

例如:我将这个python文件命名为charger,则在terminal中输入 run streamlit charger.py

terminal会生成一个网址,你能在web浏览器中打开。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值