timmy / Leaflet 標記與互動地圖

0 likes
0 forks
1 files
Last active 10 months ago
此範例使用 Leaflet 在 OpenStreetMap 上顯示多個標記,並附加彈出視窗說明不同地點的資訊。地圖支援點擊事件,可顯示使用者點擊的座標,適用於地理資訊應用和旅遊地圖開發。
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Leaflet 地圖範例</title>
5 <meta charset="utf-8" />
6 <meta name="viewport" content="width=device-width, initial-scale=1.0">
7 <link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.3/dist/leaflet.css" />
8 <style>
9 #map {
10 height: 600px;
Last active 10 months ago
這段程式碼實作「策略模式(Strategy Pattern)」,用於計算購物車的總金額,並允許 根據不同的定價策略(如正常價格或折扣價格) 來計算最終價格。
1 from abc import ABC, abstractmethod
2
3 # 策略介面
4 class PricingStrategy(ABC):
5 @abstractmethod
6 def calculate_price(self, price):
7 pass
8
9 # 具體策略類
10 class NormalStrategy(PricingStrategy):
Last active 10 months ago
此範例展示策略模式在 YAML 和 JSON 資料處理中的應用,DataHandlerStrategy 定義通用的讀寫介面,並透過 YamlHandler 和 JsonHandler 來處理不同格式的資料。DataManager 負責管理資料存取,並可動態切換處理策略,提高靈活性與可維護性。
1 import time
2 import yaml
3 import json
4 from abc import ABC, abstractmethod
5 import streamlit as st
6
7 # 策略介面
8 class DataHandlerStrategy(ABC):
9 @abstractmethod
10 def read_data(self, path):

timmy / Streamlit 使用者驗證系統

0 likes
0 forks
1 files
Last active 10 months ago
此應用程式使用 streamlit_authenticator 進行使用者登入、登出及密碼重設,並支援 YAML 和 JSON 兩種格式作為驗證資料存儲。適用於需要帳戶管理的 Streamlit Web 應用,確保只有授權使用者可以存取內容。
1 import json
2 from abc import ABC, abstractmethod
3
4 import streamlit as st
5 import streamlit_authenticator as stauth
6 import yaml
7
8
9 # 策略介面
10 class DataHandlerStrategy(ABC):
Last active 10 months ago
此範例展示如何使用 PyWebIO 及 JavaScript 顯示即時更新的時間。透過 put_html() 方法嵌入 HTML 和 JavaScript,並使用 setInterval() 讓時間每秒更新一次,使 PyWebIO 應用能夠提供更動態的用戶體驗。
1 from pywebio import start_server
2 from pywebio.output import put_html
3 import datetime
4
5 def use_scope_case3():
6 put_html('''
7 <div id="time"></div>
8 <script>
9 function updateTime() {
10 document.getElementById("time").innerText = new Date().toLocaleString();
Last active 10 months ago
此程式使用 Streamlit 讀取、編輯並儲存員工資料至 YAML 檔案,提供直覺化 UI 介面,並支援欄位過濾與年齡篩選,適用於企業資料管理。
1 employees:
2 - Age: 34
3 City: New York
4 Name: Alice
5 Occupation: Engineer
6 Salary: 70000
7 - Age: 27
8 City: Los Angeles
9 Name: Bob
10 Occupation: Doctor

timmy / 使用 Streamlit 建立 YAML 編輯器

0 likes
0 forks
1 files
Last active 10 months ago
此程式使用 Streamlit 讓使用者讀取、編輯並儲存 YAML 文件,透過 pandas 轉換為表格格式,適用於設定檔管理與資料編輯工具。
1 from io import StringIO
2
3 import pandas as pd
4 import streamlit as st
5 import yaml
6
7
8 # 定義 YamlHandler 類
9 class YamlHandler:
10 def __init__(self, file_path):