timmy / 隨機模擬擲硬幣

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 year ago
這段程式碼模擬擲硬幣(Toss a Coin)的行為,每次執行都會隨機回傳「正面」或「反面」。
1 import random
2
3
4 def toss_coin():
5 # 0代表正面,1代表反面
6 return "正面" if random.randint(0, 1) == 0 else "反面"
7
8
9 # 擲硬幣
10 result = toss_coin()

timmy / 使用 icecream 進行偵錯並透過上下文管理控制輸出

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 year ago
這段 Python 程式碼 使用 contextlib.contextmanager 來建立一個 自訂的上下文管理器 (ic_disabled()),用於 暫時停用 icecream (ic) 的輸出,並在 離開上下文後復原原始狀態。
1 # 引用python內建模組contextlib中的contextmanager
2 from contextlib import contextmanager
3
4 # 將icecream模組簡稱為ic
5 from icecream import ic # 引用icecream模組
6
7 # 設定icecream的輸出選項,包含上下文
8 ic.configureOutput(includeContext=True)
9
10 # 定義ic_disabled函式為一個上下文管理器

timmy / Python 參數解包 (*args 和 **kwargs)

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 year ago
這段 Python 程式碼 展示了 參數解包 (Argument Unpacking) 的應用方式,包括 列表解包 (*args) 和 字典解包 (**kwargs),用於函式呼叫時動態傳遞參數。
1 assert list(range(3, 6)) == [3, 4, 5]
2
3 arguments_list = [3, 6]
4 assert list(range(*arguments_list)) == [3, 4, 5]
5
6
7 def function_that_receives_names_arguments(first_word, second_word):
8 return first_word + ", " + second_word + "!"
9

timmy / 多執行緒工作佇列處理

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 year ago
這段 Python 程式碼 使用 多執行緒 (Threading) 與工作佇列 (Queue) 來 處理 30 個工作項目,確保所有工作都執行完畢後,才會顯示 "All work completed" 訊息。
1 """
2 這段程式碼是建立一個執行緒來處理工作項目,並將 30 個工作項目放入工作佇列中。然後會等待所有工作都完成後才會印出 "All work completed" 的訊息。
3 """
4
5 import threading
6 import queue
7
8
9 # 定義一個函式來處理工作項目
10 def process_work_item(work_queue):

timmy / Wake on LAN (WOL)

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 year ago
這段 Python 程式碼 用於 實現 Wake-on-LAN (WOL),它能透過 網路廣播 (UDP) 發送 Magic Packet,來喚醒遠端電腦(如伺服器或 NAS)。
1 import socket
2
3
4 class WakeOnLan:
5 """
6 WOL(Wake on LAN)
7 """
8
9 def __init__(self, macaddress):
10 try:

timmy / 簡單線性回歸股價預測

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 year ago
這段 Python 程式碼 使用 scikit-learn (sklearn) 建立簡單的線性回歸模型,根據 過去幾天蘋果公司的股價 訓練模型,並 預測未來股價變化。
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3
4
5 """
6 a_simple_linear_regression_model.py: 透過使用 Python 的 sklearn 套件,訓練一個簡單的線性回歸模型,並使用該模型預測蘋果公司的股價變化。
7
8 Author: Timmy
9 Copyright: Copyright 2022, Timmy
10 License: MIT

timmy / Dash 下拉選單範例

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 year ago
這段 Python Dash 程式碼建立了一個 簡單的網頁應用,包含 下拉選單 (Dropdown),允許使用者選擇 Montréal、Tokyo 或 北京。
1 # -*- coding: utf-8 -*-
2
3 import dash
4 from dash import html
5 from dash import dcc
6
7 print(dcc.__version__)
8 external_stylesheets = ["https://codepen.io/chriddyp/pen/bWLwgP.css"]
9
10 app = dash.Dash(

timmy / 網路連線檢查工具

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 year ago
這段程式碼透過嘗試建立與 Google DNS 伺服器(8.8.8.8 的 53 埠)的 TCP 連線,來檢查網路是否正常連接,成功連線表示網路通暢,否則則視為網路有問題。
1 import socket
2
3 def is_connected(host='8.8.8.8', port=53, timeout=3):
4 """
5 嘗試連線到指定的 host 與 port,預設為 Google 的 DNS 伺服器。
6 """
7 try:
8 socket.setdefaulttimeout(timeout)
9 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
10 s.connect((host, port))

timmy / Ping 網路連線檢查工具

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 year ago
這段程式碼透過多次執行系統的 ping 指令來測試指定主機(預設為 8.8.8.8)的連線狀態,並根據多次成功的回應判斷網路是否穩定連通。
1 import subprocess
2 import platform
3 import time
4
5 def ping_once(host):
6 """
7 使用系統的 ping 指令對指定 host 發送一次封包,
8 回傳 True 代表 ping 成功,False 代表失敗。
9 """
10 # 根據作業系統決定參數:Windows 用 -n,其他平台用 -c

timmy / YAML 檔案讀寫與資料管理

1 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 year ago
這段程式碼提供了一個 YAMLProcessor 類別,負責讀取和寫入 YAML 檔案(預設為 local_data.yaml),並將其內容轉換為 pandas.DataFrame 進行處理,適用於需要以表格形式操作 YAML 資料的應用場景。
1 import os
2 import yaml
3 import pandas as pd
4 import logging
5 from typing import Any, Dict, List
6
7 # 設定 logging 基本參數
8 logging.basicConfig(level=logging.INFO)
9 logger = logging.getLogger(__name__)