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

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

لینک چنل ایتا:
https://eitaa.com/learnpythonicy
Download Telegram
جواب چالش بفرستید بات🤓
@learnpythonicyBot

#چالش | #anagram | آموزش پایتون
ببینم کی هدیه را میگیره😪
انقدر که فعال هستید و بات پر شده از جواباتون نمیدونم جایزه را به کی بدم😔😂
پاسخ چالش "تابعی بنویسید که دو رشته بگیرد و بررسی کند آیا آن‌ها Anagram هستند یا نه"

🌟توضیحات کد:

1. حذف فاصله‌ها و تبدیل به حروف کوچک:
- s1.replace(" ", "").lower():


این خط از کد فاصله‌ها را از رشته اول s1 حذف می‌کند و آن را به حروف کوچک تبدیل می‌کند.

- s2.replace(" ", "").lower(): 


به همین ترتیب، فاصله‌ها را از رشته دوم s2 حذف و آن را به حروف کوچک تبدیل می‌کند.

2. مقایسه حروف:
- sorted(s1) == sorted(s2): 


این خط از کد حروف هر دو رشته را به ترتیب مرتب می‌کند و سپس آنها را با یکدیگر مقایسه می‌کند. اگر دو رشته با هم برابر باشند (یعنی همه حروف یکسانی داشته باشند و تنها ترتیب آنها متفاوت باشد)، True برمی‌گرداند و در غیر این صورت False را برمی‌گرداند.

3. تست تابع:
- string1 = "Listen" و string2 = "Silent": 


دو رشته به عنوان ورودی برای تست تابع تعریف شده‌اند.1

- print(are_anagrams(string1, string2)):


خروجی این تابع نمایش می‌دهد که آیا این دو رشته آنگرام یکدیگر هستند یا خیر. در این مورد، خروجی True خواهد بود زیرا حروف هر دو رشته برابر هستند.


#توضیح_چالش | آموزش پایتون
امشب طنز ببینیم 😜
اگر بخوایم اسم چنل و عوض کنیم، چه اسمی و پیشنهاد میدید؟
این کد پایتون زمان فعلی را در دو منطقه زمانی مختلف (تهران و نیویورک) نمایش میدهد و همچنین زمان تهران را به زمان نیویورک تبدیل میکند. در این کد از ماژول 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