Вступ
Цей посібник покаже вам, як створити інтерактивний додаток для обчислення віку за допомогою Python та Streamlit. Додаток обчислює ваш вік у роках, місяцях та днях, а також надає цікаві відомості про ваше життя!
Особливості додатку
- Зручний ввід для користувача:
- Дозволяє користувачам вибрати свою дату народження за допомогою простого вибірника дат.
- Розбиття віку:
- Відображає обчислений вік у роках, місяцях та днях за допомогою візуально привабливого макету.
- Спеціальні повідомлення:
- Динамічні повідомлення, які залежать від вікової категорії користувача (наприклад, неповнолітній, дорослий, пенсіонер).
- Цікаві факти:
- Показує загальну кількість днів, які користувач прожив.
- Привабливий макет:
- Використовує стовпці та віджети для організованих і захоплюючих результатів.
Передумови
Переконайтесь, що у вас є наступне перед початком:
- Python встановлений: Завантажте Python з офіційного сайту.
- Бібліотека Streamlit: Встановіть Streamlit за допомогою:
pip install streamlit
Покроковий посібник
Крок 1: Створення Python скрипта
Відкрийте ваш текстовий редактор або IDE та створіть новий файл (наприклад, age_calculator_app.py
). Скопіюйте наступний код у ваш файл:
import streamlit as st
from datetime import datetime, date
# Конфігурація додатку Streamlit
st.set_page_config(page_title="Age Calculator", layout="centered", page_icon="🎂")
st.title("🎉 **Age Calculator App** 🎂")
# Бічна панель для введення даних користувача
st.sidebar.header("📅 Введіть свою дату народження")
dob = st.sidebar.date_input(
"Оберіть вашу дату народження:",
value=datetime(2000, 1, 1),
min_value=datetime(1900, 1, 1),
max_value=datetime.now(),
)
# Функція для обчислення віку
def calculate_age(birthdate):
today = date.today()
years = today.year - birthdate.year
months = today.month - birthdate.month
days = today.day - birthdate.day
if days < 0:
months -= 1
days += (birthdate.replace(month=birthdate.month + 1, day=1) - birthdate).days
if months < 0:
years -= 1
months += 12
return years, months, days
# Відображення обчислення віку
if dob:
years, months, days = calculate_age(dob)
# Відображення результатів візуально привабливим способом
st.subheader(f"🎉 Ваше розбиття віку:")
col1, col2, col3 = st.columns(3)
col1.metric("Роки", years)
col2.metric("Місяці", months)
col3.metric("Дні", days)
# Спеціальні повідомлення на основі віку
if years < 18:
st.warning("Ви ще неповнолітній! Насолоджуйтесь молодістю. 🌟")
elif 18 <= years < 60:
st.success("Ви в розквіті сил! 🌟")
else:
st.info("Ви досягли золотого віку. Святкуйте кожен момент! 🌟")
# Розділ з цікавим фактом
st.markdown("#### 🎈 Цікавий факт про ваш вік:")
st.write(
f"Чи знали ви? Ви живете вже близько **{years * 365 + months * 30 + days} днів**! 🌟"
)
else:
st.warning("Будь ласка, виберіть свою дату народження з бічної панелі для обчислення віку.")
# Футер
st.markdown(
"""
Створено з ❤️ за допомогою Streamlit | Відслідковуйте свої важливі події! 🎂
""", unsafe_allow_html=True, )
Крок 2: Запуск додатку
- Збережіть файл як
age_calculator_app.py
. - Відкрийте термінал, перейдіть до розташування файлу та виконайте:
streamlit run age_calculator_app.py
- Додаток відкриється у вашому браузері.
Ідеї для покращення
- Етапи життя:
- Показуйте майбутні етапи життя, наприклад, наступне десятиліття чи золотий ювілей.
- Очікувана тривалість життя:
- Надати орієнтовну оцінку очікуваної тривалості життя на основі глобальних середніх показників.
- Персоналізовані інсайти:
- Включити цікаві факти про рік народження користувача або відомі події з його дати народження.
- Підтримка кількох мов:
- Додати опції для користувачів переглядати додаток на різних мовах.
Висновок
Цей додаток для обчислення віку не тільки функціональний, а й візуально захоплюючий та цікавий у використанні.
Це чудовий проєкт для початківців, щоб навчитися Python, Streamlit та модулю datetime. Покращуйте його далі, щоб зробити справжньою унікальною річчю!
Перекладено з: How to Build an Age Calculator App Using Python and Streamlit