3. 数字输入与计算器

数字输入与计算器 学习卡片

任务说明

本案例将构建一个基于 Streamlit 的简单计算器,支持加、减、乘、除四种运算。用户通过两个数字输入组件(st.number_input)输入操作数,通过下拉选择框(st.selectbox)选择运算符,页面实时显示计算结果。除法运算时,若除数为 0,页面将给出明确错误提示,避免程序异常。

实现代码

import streamlit as st

# 页面标题
st.title("简单计算器")

# 数字输入组件:两个操作数
num1 = st.number_input("第一个操作数", value=0.0, step=0.1, format="%.2f")
num2 = st.number_input("第二个操作数", value=0.0, step=0.1, format="%.2f")

# 运算符选择
operator = st.selectbox("选择运算符", ["+", "-", "*", "/"])

# 计算结果区域
result = None
error = None

if operator == "+":
    result = num1 + num2
elif operator == "-":
    result = num1 - num2
elif operator == "*":
    result = num1 * num2
elif operator == "/":
    if num2 == 0:
        error = "错误:除数不能为 0"
    else:
        result = num1 / num2

# 展示结果
st.markdown("---")
if error:
    st.error(error)
else:
    st.success(f"计算结果:{num1} {operator} {num2} = {result:.2f}")

代码说明

st.number_input 用于接收用户输入的浮点数,设置 value=0.0 作为默认值,step=0.1 控制步长,format="%.2f" 保证显示两位小数。运算符通过 st.selectbox 提供下拉选项。程序根据所选运算符执行对应计算;除法分支中先判断除数是否为 0,若为 0 则记录错误信息,否则正常计算。最后通过 st.success 或 st.error 将结果或错误信息展示在页面上。

运行与验证

将上述代码保存为 calculator.py,在终端执行以下命令启动应用:

streamlit run calculator.py

浏览器将自动打开本地 Streamlit 页面。验证步骤如下:

  1. 输入两个操作数(如 5 和 3),选择运算符“+”,页面应显示“计算结果:5.00 + 3.00 = 8.00”;
  2. 依次切换“-”“*”“/”运算符,分别验证结果为 2.00、15.00、1.67(保留两位小数);
  3. 将第二个操作数设为 0,选择“/”,页面应显示红色错误提示“错误:除数不能为 0”,且不输出计算结果。

以上操作均符合预期即判定案例通过。

Streamlit 计算器组件交互流程 st.number_input 操作数1 (num1) 操作数2 (num2) 默认值0.0,步长0.1 st.selectbox 运算符 + - * / 下拉选择 Python 逻辑 if/elif 分支计算 除法检查除数=0 实时响应 页面输出 st.success 显示计算结果 st.error 除数不能为0提示