Интерфейс
Для начала соберём интерфейс приложения. Он будет состоять из:
- формы (контейнера для других элементов);
- нескольких слайдеров;
- пары полей для ввода чисел;
- кнопки;
- линейного графика.
Для каждого из этих элементов в Streamlit есть отдельный класс.
Элемент | Класс |
---|---|
Форма | form |
Слайдер | slider |
Поле для ввода чисел | number_input |
Кнопка | form_submit_button |
График | line_chart |
Форма нужна для того, чтобы скрипт не перезапускался полностью при каждом изменении слайдера или поля для ввода (по умолчанию в Streamlit реализовано именно такое поведение).
Пишем код
Задаём настройки страницы, добавляем заголовок «Симулятор ставок» и создаём форму с элементами.
import streamlit as st
st.set_page_config(
page_title='Симулятор ставок',
page_icon='🍰'
)
st.title('Симулятор ставок 💰')
with st.form('main_form'):
start_bankroll = st.number_input('Стартовый капитал', 10000)
winrate = st.slider('Вероятность выигрыша в %', 0, 100, 53) / 100
winning_amount = st.number_input('Размер выигрыша', 1, value=100)
losing_amount = st.number_input('Размер проигрыша', 1, value=100)
players_number = st.slider('Количество игроков', 1, 10, 3)
bets_number = st.slider('Количество ставок', 100, 10000, 2000)
# Обработчик для клика по кнопке добавим позже
submitted = st.form_submit_button('Запустить симуляцию')
if submitted:
pass
Запускаем сервер
Чтобы запустить сервер Streamlit, выполните в терминале следующую команду:
python -m streamlit run main.py
Вместо main.py
, конечно же, укажите имя вашего основного модуля.
Если всё сделано правильно, то спустя несколько секунд откроется окно браузера, в котором отрисуется интерфейс.
Важно: запускать программу с помощью интерпретатора Python не нужно, сервер Streamlit сам это сделает. Если вы внесёте изменения в исходный код, то достаточно будет просто обновить страницу, чтобы изменения вступили в силу.