آیا تا حالا نیاز داشتید بفهمید که توی یک لیست یا متن چه چیزهایی بیشتر تکرار شدن؟ 🤔
✔️ با Counter میتونید به راحتی تکرار هر عنصر رو بشمارید و دادهها رو تحلیل کنید!
در اینجا، Counter به راحتی به ما نشون میده که هر کدام از آیتمها چقدر تکرار شدهاند. این ویژگی خیلی کاربردیه وقتی بخواهیم دادههای بزرگ رو تجزیه و تحلیل کنیم.
#بدانیم #collections
import turtle
t = turtle.Turtle()
t.speed(0)
colors = ['red', 'purple', 'blue', 'green']
for x in range(360):
t.pencolor(colors[x%4])
t.width(x/100 + 1)
t.forward(x)
t.left(59)
turtle.done()
✔️ ساخت PDF با FPDF در پایتون
🔅 کاربردهای FPDF:
- ساخت گزارشهای خودکار
- تولید فاکتور و مدارک رسمی
- خروجی PDF از دادههای برنامه
🔅 ویژگیهای کلیدی:
- سبک و ساده برای تولید PDF
- قابلیت اضافه کردن متن، جداول و تصاویر
- تنظیم فونت و استایل متن
#fpdf | @learnpythonicy
> نصب کتابخانه:
> pip install fpdf2
✔️ انتخاب تصادفی ساده در پایتون
شبیهسازی پرتاب تاس (اعداد 1 تا 6)
انتخاب تصادفی نوبت بازیکنان (Sara یا Ali)
👈 ایده برای ارتقا:
1. سیستم نوبت دهی هوشمند:
- ابتدا به صورت تصادفی انتخاب میکند چه کسی بازی را شروع کند
- نتیجه تاس به همراه نام بازیکن چاپ میشود
2. قانون شانس مجدد:
- اگر بازیکن عدد 6 بیاورد (شرط if)
- پیام "شانس مجدد" نمایش داده میشود
- در این حالت نوبت به بازیکن بعدی نمیرسد و همان بازیکن دوباره تاس میاندازد
3. قابلیت توسعه:
- میتوانید لیست بازیکنان را گسترش دهید
- میتوانید قانون 6 آوردن را تغییر دهید (مثلا 2 بار پشت هم 6 بیاورد)
- میتوانید امتیازات را هم ذخیره کنید
کاربرد عملی
- پیادهسازی بازیهای رومیزی مثل ماروپله
- سیستم نوبتدهی در بازیهای گروهی
- شبیهسازی شرایط تصادفی در برنامهنویسی
👇👇👇👇
players = ["Sara", "Ali"]
current_player = random.choice(players)
dice_roll = random.randint(1, 6)
print(f"{current_player}'s turn - Rolled: {dice_roll}")
if dice_roll == 6:
print("Bonus turn!")
✔️ مثال ساده از ماژول datetime - نمایش تاریخ و ساعت فعلی
from datetime import datetime
# دریافت تاریخ و ساعت فعلی
now = datetime.now()
print("تاریخ و ساعت فعلی:")
print(now.strftime("%Y-%m-%d %H:%M:%S"))
ویژگیهای کلیدی
- نمایش فرمتهای مختلف تاریخ/ساعت
- محاسبه اختلاف بین دو تاریخ
- پشتیبانی از تقویم شمسی
کاربردهای سریع
- لاگگیری زمان رویدادها
- مدیریت مهلتهای پروژه
- برنامههای
#datetime | @learnpythonicy
> *برای تاریخ شمسی میتوانید از کتابخانه jdatetime استفاده کنید.*
✔️ مثال ساده از ماژول os - مدیریت فایلها و پوشهها
import os
# لیست تمام فایلهای دایرکتوری فعلی
files = os.listdir()
print("فایلهای موجود:")
for file in files:
print(file)
# ساخت پوشه جدید
os.mkdir("پوشه_جدید")
print("\nپوشه جدید ساخته شد!")
کاربردهای اصلی:
- مدیریت فایلهای سیستم
- تغییر مسیر دایرکتوری کار
- اجرای دستورات
نکته
- برای حذف فایل: os.remove("فایل.txt")
- برای بررسی وجود فایل: os.path.exists("فایل.txt")
> این ماژول برای اتوماسیون کارهای سیستمی عالی است!
✔️ تولید اعداد تصادفی در پایتون با ۷ روش حرفهای!
برای تولید اعداد تصادفی در پایتون، این تکنیکهای کاربردی را امتحان کنید:
1️⃣ ماژول random پایه
import random
print(random.random()) # عدد اعشاری بین 0 تا 1
2️⃣ محدوده عددی
print(random.randint(1, 100)) # عدد صحیح بین 1 تا 100
3️⃣ انتخاب تصادفی از لیست
items = ['a', 'b', 'c']
print(random.choice(items)) # انتخاب یک آیتم
4️⃣ نمونهگیری بدون جایگزینی
print(random.sample(range(100), 5)) # 5 عدد منحصر بفرد
5️⃣ توزیع نرمال
print(random.gauss(0, 1)) # توزیع گاوسی
6️⃣ برای نتایج تکرارپذیر
random.seed(42) # ثابت کردن نتایج تصادفی
7️⃣ ماژول secrets برای امنیت
import secrets
print(secrets.randbelow(100)) # ایمن برای رمزنگاری
🗝 روش ویژه: NumPy برای آرایههای تصادفی
import numpy as np
print(np.random.rand(3,3)) # ماتریس 3x3 تصادفی
نکات طلایی
- برای امنیت از secrets استفاده کنید
- برای علم داده از numpy.random استفاده شود
- دستور seed برای دیباگ مفید است
#PythonMagic | #random | #seed | #secrets | #numpy | @learnpythonicy
> *برای بازیها، شبیهسازیها و رمزنگاری کاربرد دارد*
🪂 سرگرمی با ماژول مخفی پایتون!
import antigravity
چه اتفاقی میافته؟
- یه صفحه وب با کمیک xkcd باز میشه
- درباره قابلیتهای جالب پایتون توضیح میده
#antigravity | @learnpythonicy