Як створити додаток для обчислення віку за допомогою Python та Streamlit

Вступ

Цей посібник покаже вам, як створити інтерактивний додаток для обчислення віку за допомогою Python та Streamlit. Додаток обчислює ваш вік у роках, місяцях та днях, а також надає цікаві відомості про ваше життя!

Особливості додатку

  1. Зручний ввід для користувача:
  • Дозволяє користувачам вибрати свою дату народження за допомогою простого вибірника дат.
  1. Розбиття віку:
  • Відображає обчислений вік у роках, місяцях та днях за допомогою візуально привабливого макету.
  1. Спеціальні повідомлення:
  • Динамічні повідомлення, які залежать від вікової категорії користувача (наприклад, неповнолітній, дорослий, пенсіонер).
  1. Цікаві факти:
  • Показує загальну кількість днів, які користувач прожив.
  1. Привабливий макет:
  • Використовує стовпці та віджети для організованих і захоплюючих результатів.

Передумови

Переконайтесь, що у вас є наступне перед початком:

  1. Python встановлений: Завантажте Python з офіційного сайту.
  2. Бібліотека 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: Запуск додатку

  1. Збережіть файл як age_calculator_app.py.
  2. Відкрийте термінал, перейдіть до розташування файлу та виконайте:
streamlit run age_calculator_app.py
  1. Додаток відкриється у вашому браузері.

Ідеї для покращення

  1. Етапи життя:
  • Показуйте майбутні етапи життя, наприклад, наступне десятиліття чи золотий ювілей.
  1. Очікувана тривалість життя:
  • Надати орієнтовну оцінку очікуваної тривалості життя на основі глобальних середніх показників.
  1. Персоналізовані інсайти:
  • Включити цікаві факти про рік народження користувача або відомі події з його дати народження.
  1. Підтримка кількох мов:
  • Додати опції для користувачів переглядати додаток на різних мовах.

Висновок

Цей додаток для обчислення віку не тільки функціональний, а й візуально захоплюючий та цікавий у використанні.
Це чудовий проєкт для початківців, щоб навчитися Python, Streamlit та модулю datetime. Покращуйте його далі, щоб зробити справжньою унікальною річчю!

Перекладено з: How to Build an Age Calculator App Using Python and Streamlit

Leave a Reply

Your email address will not be published. Required fields are marked *