آموزش پایتون
88 subscribers
281 photos
21 videos
81 files
178 links
ارتباط با ما:
@learnpythonicyBot

لینک گروه چت:
https://t.me/learnpythonicychat

لینک چنل ایتا:
https://eitaa.com/learnpythonicy
Download Telegram
امشب طنز ببینیم 😜
اگر بخوایم اسم چنل و عوض کنیم، چه اسمی و پیشنهاد میدید؟
این کد پایتون زمان فعلی را در دو منطقه زمانی مختلف (تهران و نیویورک) نمایش میدهد و همچنین زمان تهران را به زمان نیویورک تبدیل میکند. در این کد از ماژول datetime برای کار با تاریخ و زمان و از ماژول zoneinfo برای مدیریت مناطق زمانی استفاده شده است.

☑️ مراحل کد به شرح زیر است:
1. مناطق زمانی تهران و نیویورک با استفاده از ZoneInfo تعریف میشوند.
2. زمان فعلی در منطقه زمانی تهران با استفاده از datetime.now() دریافت و چاپ میشود.
3. زمان فعلی در منطقه زمانی نیویورک نیز به همین ترتیب دریافت و چاپ میشود.
4. زمان تهران به زمان نیویورک با استفاده از متد astimezone() تبدیل شده و نتیجه چاپ میشود.

این کد برای نمایش تفاوت زمان بین دو منطقه زمانی و تبدیل زمان بین آنها مفید است.

#datetime | #zoneinfo | #module | learnpythonicy
👍2
دستور while در یک نگاه!

یک ابزار مفید برای تکرار عملیات تا زمان برقراری یک شرط خاص است.

#while | #codeBites | learnpythonicy
3
ارسال پیام خودکار به واتس‌اپ با Python! 🐍

با استفاده از کتابخانه‌ی PyWhatKit در Python، می‌توانید پیام‌های متنی را به سرعت به شماره‌های تلفن ارسال کنید.
در این مثال، ما یک پیام ساده به شماره‌ی "+989123456789" ارسال می‌کنیم. این کد به شما نشان می‌دهد که چطور می‌توانید به سادگی با چند خط کد، ارتباطات خود را بهبود بخشید!

نکات کلیدی:
- 📞 شماره تلفن را با کد کشور وارد کنید.
- ✉️ متن پیام را با توجه به نیاز خود تغییر دهید.
- با استفاده از wait_time، زمان لازم برای باز شدن واتساپ پیش از ارسال پیام را تنظیم کنید.

امیدوارم این کد برای شما مفید باشد! 💻

نظرات و پیشنهادات ارزشمند خود را با ما درمیان بگذارید🙏❤️ @learnpythonicyBot

#pywhatkit | #whatsapp | learnpythonicy
این یک برنامه ساده به نام مدیریت مالی شخصی است که به کاربران امکان می‌دهد درآمدها و هزینه‌های خود را ثبت و مدیریت کنند.
این برنامه از کتابخانه‌های pandas برای مدیریت داده‌ها و matplotlib برای ایجاد گزارش‌های تصویری استفاده می‌کند. در ادامه، توضیحات مربوط به کد آورده شده است:👇

#matplotlib | #pandas | learnpythonicy
☑️ ویژگی‌های اصلی:
1. افزودن تراکنش: کاربران می‌توانند یک تراکنش جدید را با مشخص کردن دسته‌بندی (مثلاً غذا، حقوق، اجاره)، نوع (درآمد/هزینه)، مقدار و تاریخ اضافه کنند.
2. مشاهده تراکنش‌ها: کاربران می‌توانند تمام تراکنش‌های ثبت‌شده را در قالب جدول مشاهده کنند.
3. تولید گزارش: برنامه یک نمودار دایره‌ای ایجاد می‌کند که توزیع درآمدها و هزینه‌ها را نشان می‌دهد.
4. خروج: کاربران می‌توانند از برنامه خارج شوند.

---

☑️ توضیحات کد:

1. ساختار داده‌ها:
- یک DataFrame از کتابخانه pandas برای ذخیره اطلاعات مالی استفاده می‌شود. این DataFrame شامل ستون‌های زیر است:
- Category: دسته‌بندی تراکنش (مثلاً غذا، حقوق، اجاره).
- Type: نوع تراکنش (درآمد یا هزینه).
- Amount: مقدار تراکنش.
- Date: تاریخ تراکنش.

2. افزودن تراکنش:
- تابع add_transaction یک تراکنش جدید را به DataFrame اضافه می‌کند. این تابع مقادیر ورودی کاربر را دریافت کرده و آن‌ها را به DataFrame اضافه می‌کند.

3. مشاهده تراکنش‌ها:
- تابع view_summary تمام تراکنش‌های ثبت‌شده را در قالب جدول نمایش می‌دهد. اگر هیچ تراکنشی ثبت نشده باشد، پیامی مناسب نمایش داده می‌شود.

4. تولید گزارش:
- تابع generate_report یک نمودار دایره‌ای ایجاد می‌کند که درصد درآمدها و هزینه‌ها را نشان می‌دهد. اگر هیچ تراکنشی ثبت نشده باشد، پیامی مناسب نمایش داده می‌شود.

5. منوی اصلی:
- یک حلقه while بینهایت وجود دارد که منوی اصلی را نمایش می‌دهد و بر اساس انتخاب کاربر، عملیات مناسب را انجام می‌دهد.

---

☑️ نحوه استفاده:
1. برنامه را اجرا کنید.
2. از منوی اصلی، گزینه‌های زیر را انتخاب کنید:
- 1: برای افزودن تراکنش جدید.
- 2: برای مشاهده تمام تراکنش‌ها.
- 3: برای تولید گزارش تصویری.
- 4: برای خروج از برنامه.

---

مثال خروجی:
- پس از افزودن چند تراکنش، می‌توانید تراکنش‌ها را مشاهده کنید:

  Summary of Transactions:
Category Type Amount Date
0 Food Expense 50.00 2025-03-19
1 Salary Income 2000.00 2025-03-19

- گزارش تصویری یک نمودار دایره‌ای است که درصد درآمدها و هزینه‌ها را نشان می‌دهد.

---

🔘 این برنامه به‌راحتی قابل توسعه است و می‌توان ویژگی‌هایی مانند ذخیره داده‌ها در فایل، اضافه کردن دسته‌بندی‌های بیشتر، یا محاسبه موجودی کلی را به آن اضافه کرد.
import pandas as pd
import matplotlib.pyplot as plt

# تعریف DataFrame برای ذخیره اطلاعات مالی
data = {
'Category': [],
'Type': [], # Income or Expense
'Amount': [],
'Date': []
}
df = pd.DataFrame(data)

def add_transaction(category, t_type, amount, date):
global df
new_transaction = {'Category': category, 'Type': t_type, 'Amount': amount, 'Date': date}
df = pd.concat([df, pd.DataFrame([new_transaction])], ignore_index=True)
print("Transaction added successfully!")

def view_summary():
if df.empty:
print("No transactions recorded.")
return
print("\nSummary of Transactions:")
print(df)

def generate_report():
if df.empty:
print("No transactions recorded to generate a report.")
return

# گروه‌بندی داده‌ها بر اساس نوع (درآمد و هزینه)
summary = df.groupby('Type')['Amount'].sum()

# رسم نمودار دایره‌ای
plt.figure(figsize=(6, 6))
summary.plot(kind='pie', autopct='%1.1f%%', startangle=90, labels=summary.index, colors=['#8BC34A', '#F44336'])
plt.title('Income vs Expense')
plt.ylabel('')
plt.show()

# منوی اصلی
while True:
print("\nPersonal Finance Manager")
print("1. Add Transaction")
print("2. View Transactions")
print("3. Generate Report")
print("4. Exit")
choice = input("Choose an option: ")

if choice == "1":
category = input("Enter category (e.g., Food, Salary, Rent): ")
t_type = input("Enter type (Income/Expense): ")
amount = float(input("Enter amount: "))
date = input("Enter date (YYYY-MM-DD): ")
add_transaction(category, t_type, amount, date)

elif choice == "2":
view_summary()

elif choice == "3":
generate_report()

elif choice == "4":
print("Exiting program. Have a great day!")
break

else:
print("Invalid choice. Please try again.")
سالی پُرموفقیت و پرباری رو براتون میخوام🫂
Forwarded from برنامه نویسی | Teachify (YOUSEF)
✔️ تشخیص عدد زوج در پایتون با یک روش سریع‌تر!

در پایتون معمولاً برای تشخیص عدد زوج از این روش استفاده می‌کنیم:
if num % 2 == 0:

اما یک روش جالب‌تر و بهینه‌تر هم وجود دارد که از عملیات بیتی استفاده می‌کند:
if (num & 1) == 0:

در این روش، عملگر & آخرین بیت عدد را بررسی می‌کند. در نمایش باینری، اعداد زوج همیشه آخرین بیت‌شان 0 است، بنابراین نتیجه‌ی این بررسی 0 می‌شود و تشخیص عدد زوج به‌سادگی انجام می‌گیرد.

این روش در بسیاری از زبان‌های برنامه‌نویسی مثل پایتون، C، C++، جاوا و Go کار می‌کند. چون عملیات بیتی ذاتاً سبک‌تر از مدولوس % است، در برخی زبان‌ها عملکرد سریع‌تری دارد.


#پایتون #Python
@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ معکوس کردن یک رشته در پایتون با روشی نوآورانه!

برای معکوس کردن یک رشته در پایتون، معمولاً از حلقه‌ها یا متدهای خاص استفاده می‌کنیم:
reversed_string = ""
for char in my_string:
reversed_string = char + reversed_string

اما یک روش ساده‌تر و سریع‌تر وجود دارد که می‌تواند کار ما را به‌راحتی انجام دهد:
reversed_string = my_string[::-1]

در اینجا، با استفاده از اسلایسینگ (slicing) می‌توانیم رشته را به‌سادگی از انتها به ابتدا بخوانیم. با قرار دادن ::-1 در انتهای رشته، به پایتون می‌گوییم که هر کاراکتر را با گام منفی یک انتخاب کند و بدین ترتیب رشته را معکوس می‌کند.

این روش نه تنها خواناتر است، بلکه به‌طور قابل توجهی کارایی بالاتری دارد و می‌تواند در بیشتر سناریوها به‌راحتی استفاده شود.

#pythonMagic | learnpythonicy | آموزش پایتون
🔥 محاسبه فاکتوریل در پایتون با ۳ روش مختلف!

برای محاسبه فاکتوریل (n!) در پایتون، می‌توانید از این روش‌ها استفاده کنید:

1. روش کلاسیک با حلقه:
factorial = 1
for i in range(1, n+1):
factorial *= i


2. روش بازگشتی (Recursive):
def factorial(n):
return 1 if n == 0 else n * factorial(n-1)



3. روش یکخطی با math (بهینه و سریع!):
from math import factorial
result = factorial(n)



#pythonMagic | @learnpythonicy | آموزش پایتون
LEARN PYTHON 3
THE HARD WAY.pdf
5.9 MB
📚 «Learn Python 3 the Hard Way»

📚 کتاب "یادگیری پایتون ۳ به روش سخت"

آیا می‌خواهید پایتون را به‌صورت عملی و گام‌به‌گام یاد بگیرید؟

این کتاب با روشی متفاوت و تمرین‌محور، شما را وادار می‌کند تا کد بنویسید، اشتباه کنید و از خطاها یاد بگیرید. برخلاف روش‌های معمول، اینجا قرار نیست فقط بخوانید، بلکه باید کدنویسی کنید تا واقعاً پایتون را درک کنید!

خلاصه‌ای از کتاب:
- آموزش پایتون ۳ از پایه تا پیشرفته
- شامل ۵۲ تمرین عملی برای تسلط بر مفاهیم
- تاکید بر یادگیری از طریق تکرار و اصلاح خطاها
- پوشش مباحثی مثل توابع، شیءگرایی، مدیریت فایل‌ها، و دیباگ کردن



#معرفی_کتاب | #بوک_تایم | آموزش پایتون
یادگیری واقعی با تلاش واقعی اتفاق می‌افتد ☀️

#موتیو_تایم
1
چگونه یک لیست را در پایتون به سرعت مرتب کنیم؟ 🚀

وقتی تازه‌کارها با نیاز به مرتب سازی یک لیست مواجه می‌شوند، ممکن است به فکر پیاده‌سازی الگوریتم‌های دستی بیفتند. اما پایتون با متدهای داخلی خود، این کار را در یک خط کد انجام می‌دهد!

روش سریع با sorted() و .sort()
numbers = [3, 1, 4, 1, 5, 9, 2]

# روش ۱: ایجاد لیست جدید (با sorted)
sorted_numbers = sorted(numbers)
print(sorted_numbers) # [1, 1, 2, 3, 4, 5, 9]

# روش ۲: مرتب‌سازی درجا (با .sort)
numbers.sort()
print(numbers) # [1, 1, 2, 3, 4, 5, 9]



🎯 تفاوت‌ها:
دستور sorted() لیست جدیدی برمیگرداند.
دستور .sort() لیست اصلی را تغییر میدهد (درجا).
هر دو برای اعداد، رشتهها و دادههای سفارشی (با key=) کار میکنند!

🟢 @learnpythonicy | #sort | #sorted
👍2
چگونه یک دیکشنری را در پایتون به سرعت وارونه کنیم؟ (جابجایی کلیدها و مقادیر) 🔄

روش سریع با Dictionary Comprehension
original_dict = {"a": 1, "b": 2, "c": 3}

# وارونه کردن دیکشنری (مقادیر → کلید، کلیدها → مقدار)
reversed_dict = {value: key for key, value in original_dict.items()}
print(reversed_dict) # {1: 'a', 2: 'b', 3: 'c'}


⚠️ نکته مهم:
- این روش فقط زمانی کار میکند که مقادیر دیکشنری منحصربه‌فرد باشند (در غیر این صورت، مقادیر تکراری بازنویسی میشوند!).
- اگر مقادیر تکراری دارید، از روش های دیگر مانند defaultdict استفاده کنید.

🎯 روش defaultdict (مناسب برای مقادیر تکراری):
from collections import defaultdict

original_dict = {"a": 1, "b": 2, "c": 2, "d": 3}

reversed_dict = defaultdict(list)
for key, value in original_dict.items():
reversed_dict[value].append(key) # ذخیره لیستی از کلیدها برای مقادیر تکراری

print(dict(reversed_dict)) # {1: ['a'], 2: ['b', 'c'], 3: ['d']}


#dict | @learnpythonicy | #بدانیم
👍2
🔥 جدیدترین دستیار هوشمند تلگرام برای جستجوی پیشرفته!

ربات رسمی Perplexity هم اکنون در تلگرام!
- هر سوالی داری بپرس، جواب دقیق با منابع معتبر میگیری 🔍
- قابلیت سرچ Pro هم فعاله (برای پاسخ‌های حرفه‌ای‌تر)
- تو گروه‌ها هم کار میکنه! کافیه @askplexbot رو منشن کنی
- حتی از عکس‌ها هم میتونه اطلاعات استخراج کنه 📸

🚀 ویژگی‌های ویژه:
• پاسخ‌های فوری و مستند
• پشتیبانی از جستجوی زنده (Real-time)
• رابط کاربری ساده و سریع

🔗 لینک ربات:
@askplexbot | https://t.me/askplexbot

💬 حالا دیگه هر سوالی داری، همون لحظه توی تلگرام جوابش رو بگیر!

آزمایشش کردی؟ نظرت چیه؟

Learnpythonicy | #ai | #bot #news
Forwarded from Learn Python
Python for everything 👆