Streamlit
1 Introduction to Streamlit
1.1 What is Streamlit?
1.2 Why use Streamlit?
1.3 Setting up the environment
1.4 Creating your first Streamlit app
2 Basic Components
2.1 Text elements
2.1 1 Displaying text
2.1 2 Formatting text
2.2 Data display elements
2.2 1 Displaying data frames
2.2 2 Displaying tables
2.3 Input widgets
2.3 1 Text input
2.3 2 Number input
2.3 3 Date input
2.3 4 Dropdown selection
2.3 5 Slider
2.3 6 Checkbox
2.3 7 Radio buttons
2.3 8 Buttons
3 Advanced Components
3.1 Interactive widgets
3.1 1 Multiselect
3.1 2 File uploader
3.1 3 Color picker
3.2 Media elements
3.2 1 Displaying images
3.2 2 Displaying videos
3.2 3 Displaying audio
3.3 Chart elements
3.3 1 Line chart
3.3 2 Bar chart
3.3 3 Area chart
3.3 4 Scatter chart
3.3 5 Map chart
4 Layout and Styling
4.1 Layout components
4.1 1 Columns
4.1 2 Tabs
4.1 3 Expander
4.2 Styling elements
4.2 1 Custom CSS
4.2 2 Theming
4.2 3 Adding custom fonts
5 State Management
5.1 Session state
5.1 1 Managing state across reruns
5.1 2 Persisting state
5.2 Caching
5.2 1 Caching functions
5.2 2 Caching data
6 Deployment
6.1 Deploying to Streamlit Sharing
6.1 1 Setting up Streamlit Sharing
6.1 2 Deploying your app
6.2 Deploying to other platforms
6.2 1 Deploying to Heroku
6.2 2 Deploying to AWS
6.2 3 Deploying to Google Cloud
7 Best Practices
7.1 Writing clean and maintainable code
7.2 Optimizing performance
7.3 Handling errors and exceptions
7.4 Version control with Git
8 Advanced Topics
8.1 Integrating with other libraries
8.1 1 Integrating with Pandas
8.1 2 Integrating with Plotly
8.1 3 Integrating with TensorFlow
8.2 Building complex apps
8.2 1 Creating multi-page apps
8.2 2 Handling authentication
8.2 3 Building interactive dashboards
8.3 Custom components
8.3 1 Creating custom widgets
8.3 2 Extending Streamlit with custom components
9 Case Studies
9.1 Building a data exploration app
9.2 Building a machine learning model deployment app
9.3 Building a real-time data visualization app
2 3 2 Number Input Explained

3 2 Number Input Explained

Key Concepts

st.number_input

st.number_input is a Streamlit widget that provides a numeric input field. Users can enter or adjust numeric values using this widget. It is particularly useful for applications that require precise numeric input, such as calculators, data entry forms, or interactive data analysis tools.

Parameters

The st.number_input function accepts several parameters to customize its behavior:

Interactive Use

Using st.number_input, you can create interactive applications where users can input numeric values that affect the output. For example, you can create a simple calculator that performs operations based on user input.

Examples

Here are some examples to illustrate the use of st.number_input:

import streamlit as st

st.title("Number Input Example")

# Basic number input
number = st.number_input("Enter a number", min_value=0, max_value=100, step=1)
st.write(f"You entered: {number}")

# Advanced number input with default value
age = st.number_input("Enter your age", min_value=18, max_value=100, step=1, value=25)
st.write(f"Your age is: {age}")

# Interactive calculator
num1 = st.number_input("Enter the first number", min_value=0, max_value=1000, step=1)
num2 = st.number_input("Enter the second number", min_value=0, max_value=1000, step=1)
operation = st.selectbox("Select operation", ["Add", "Subtract", "Multiply", "Divide"])

if operation == "Add":
    result = num1 + num2
elif operation == "Subtract":
    result = num1 - num2
elif operation == "Multiply":
    result = num1 * num2
elif operation == "Divide":
    result = num1 / num2

st.write(f"Result: {result}")
    

In the first example, a basic number input is created with a range from 0 to 100. The second example demonstrates setting a default value and using a more specific range. The third example shows how to create an interactive calculator using multiple number inputs and a selectbox for operations.