⛔️🚫⛔️🚫⛔️🚫⛔️🚫
. دوست دارید پستها چه مدلی باشه؟
. تو چه حیطهای از پایتون؟
. در چه سطحی باشه؟
و...
پیشنهاد و نظراتتون و دریغ نکنید از من! 💝🙏
کامنت کنید یا ناشناس بفرستید.
@learnpythonicyBot
. دوست دارید پستها چه مدلی باشه؟
. تو چه حیطهای از پایتون؟
. در چه سطحی باشه؟
و...
پیشنهاد و نظراتتون و دریغ نکنید از من! 💝🙏
کامنت کنید یا ناشناس بفرستید.
@learnpythonicyBot
✔️ مدیریت فایلها در پایتون با ۷ روش حرفهای!
برای کار با فایلها در پایتون، این تکنیکهای کاربردی را امتحان کنید:
1️⃣ باز کردن و خواندن فایل
2️⃣ نوشتن در فایل
3️⃣ افزودن به فایل
4️⃣ خواندن خط به خط
5️⃣ بررسی وجود فایل
6️⃣ حذف فایل
7️⃣ مدیریت مسیرها با pathlib
🗝 روش ویژه: خواندن و نوشتن فایلهای CSV با pandas
نکات طلایی
* همیشه از
* برای مسیرهای پیچیده از
* برای دادههای جدولی از
#PythonMagic | #FileHandling | #pathlib | #pandas | @learnpythonic
> *برای ذخیرهسازی، تحلیل داده و اتوماسیون کاربرد دارد*
برای کار با فایلها در پایتون، این تکنیکهای کاربردی را امتحان کنید:
1️⃣ باز کردن و خواندن فایل
with open('file.txt', 'r') as f:
content = f.read()
print(content)2️⃣ نوشتن در فایل
with open('file.txt', 'w') as f:
f.write("سلام دنیا!")3️⃣ افزودن به فایل
with open('file.txt', 'a') as f:
f.write("\nخط جدید")4️⃣ خواندن خط به خط
with open('file.txt', 'r') as f:
for line in f:
print(line.strip())5️⃣ بررسی وجود فایل
import os
print(os.path.exists('file.txt')) # True یا False
6️⃣ حذف فایل
import os
os.remove('file.txt')
7️⃣ مدیریت مسیرها با pathlib
from pathlib import Path
path = Path('file.txt')
print(path.exists())
print(path.read_text())
🗝 روش ویژه: خواندن و نوشتن فایلهای CSV با pandas
import pandas as pd
df = pd.read_csv('data.csv')
print(df.head())
df.to_csv('output.csv', index=False)
نکات طلایی
* همیشه از
with برای مدیریت فایل استفاده کنید* برای مسیرهای پیچیده از
pathlib کمک بگیرید* برای دادههای جدولی از
pandas بهره ببرید#PythonMagic | #FileHandling | #pathlib | #pandas | @learnpythonic
> *برای ذخیرهسازی، تحلیل داده و اتوماسیون کاربرد دارد*
✔️ کار با لیستها در پایتون با ۷ روش حرفهای!
برای مدیریت لیستها و دادههای متوالی، این تکنیکهای کاربردی را امتحان کنید:
1️⃣ ایجاد لیست
2️⃣ اضافه کردن عنصر
3️⃣ درج عنصر در موقعیت خاص
4️⃣ حذف عنصر
5️⃣ دسترسی به عناصر با ایندکس
6️⃣ مرتبسازی لیست
7️⃣ لیستها با فهم لیست (List Comprehension)
🗝 روش ویژه: تبدیل لیست به آرایه NumPy
نکات طلایی
* برای اضافه و حذف عنصر از
* List comprehension کد شما را کوتاه و خواناتر میکند
* برای محاسبات عددی بزرگ، لیستها را به
#PythonMagic | #NumPy | #List | @learnpythonicy
برای مدیریت لیستها و دادههای متوالی، این تکنیکهای کاربردی را امتحان کنید:
1️⃣ ایجاد لیست
fruits = ['apple', 'banana', 'cherry']
print(fruits)
2️⃣ اضافه کردن عنصر
fruits.append('orange')
print(fruits)3️⃣ درج عنصر در موقعیت خاص
fruits.insert(1, 'kiwi')
print(fruits)
4️⃣ حذف عنصر
fruits.remove('banana')
print(fruits)5️⃣ دسترسی به عناصر با ایندکس
print(fruits[0]) # اولین عنصر
print(fruits[-1]) # آخرین عنصر
6️⃣ مرتبسازی لیست
numbers = [5, 2, 9, 1]
numbers.sort()
print(numbers)
7️⃣ لیستها با فهم لیست (List Comprehension)
squares = [x**2 for x in range(5)]
print(squares)
🗝 روش ویژه: تبدیل لیست به آرایه NumPy
import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr * 2)
نکات طلایی
* برای اضافه و حذف عنصر از
append و remove استفاده کنید* List comprehension کد شما را کوتاه و خواناتر میکند
* برای محاسبات عددی بزرگ، لیستها را به
NumPy array تبدیل کنید#PythonMagic | #NumPy | #List | @learnpythonicy
❤1
✔️ 10 Python Set Tricks You Should Know! 🐍✨
1️⃣ ساخت Set یکتا از لیست
2️⃣ افزودن آیتم
3️⃣ حذف آیتم بدون خطا
4️⃣ اجتماع دو مجموعه (Union)
5️⃣ اشتراک دو مجموعه (Intersection)
6️⃣ تفاضل مجموعهها (Difference)
7️⃣ بررسی زیرمجموعه بودن
8️⃣ حذف آیتم تصادفی
9️⃣ ساخت Set Comprehension
🔟 حذف آیتمهای تکراری از رشته
> ⚠️ ست ها(set) فوقالعاده سریع هستند (O(1) average lookup)، اما ترتیب را حفظ نمیکنند!
#Set | #PythonTricks | #DataStructures | @LearnPythonicy
👇 بیشتر از کدوم عملیات Set در پروژههات استفاده میکنی؟
1️⃣ ساخت Set یکتا از لیست
unique_items = set([1, 2, 2, 3, 4])
2️⃣ افزودن آیتم
my_set.add(5)
3️⃣ حذف آیتم بدون خطا
my_set.discard(10) # Error نمیدهد
4️⃣ اجتماع دو مجموعه (Union)
result = set1 | set2
5️⃣ اشتراک دو مجموعه (Intersection)
common = set1 & set2
6️⃣ تفاضل مجموعهها (Difference)
diff = set1 - set2
7️⃣ بررسی زیرمجموعه بودن
if set1 <= set2:
print("Subset")
8️⃣ حذف آیتم تصادفی
item = my_set.pop()
9️⃣ ساخت Set Comprehension
squares = {x**2 for x in range(5)}🔟 حذف آیتمهای تکراری از رشته
unique_chars = set("programming")> ⚠️ ست ها(set) فوقالعاده سریع هستند (O(1) average lookup)، اما ترتیب را حفظ نمیکنند!
#Set | #PythonTricks | #DataStructures | @LearnPythonicy
👇 بیشتر از کدوم عملیات Set در پروژههات استفاده میکنی؟
✔️ 10 Python Async & Concurrency Tricks You Should Know! ⚡🐍
1️⃣ اجرای تابع async
2️⃣ اجرای همزمان چند Task
3️⃣ ایجاد Task در پسزمینه
4️⃣ محدود کردن همزمانی با Semaphore
5️⃣ Timeout برای جلوگیری از Hang
6️⃣ اجرای کد Blocking داخل Async
7️⃣ استفاده از ThreadPoolExecutor
8️⃣ استفاده از ProcessPool برای CPU-Bound
9️⃣ مدیریت Race Condition با Lock
🔟 Async HTTP Requests با aiohttp
> ⚠️ نکته: Async برای I/O-Bound فوقالعاده است، اما برای CPU-Bound از multiprocessing استفاده کن.
#AsyncIO #Concurrency #Backend #Performance #PythonTricks
👇 تو پروژههات بیشتر با I/O-Bound سروکار داری یا CPU-Bound؟
1️⃣ اجرای تابع async
import asyncio
async def main():
print("Hello Async")
asyncio.run(main())
2️⃣ اجرای همزمان چند Task
async def task(n):
await asyncio.sleep(1)
return n
results = await asyncio.gather(task(1), task(2))
3️⃣ ایجاد Task در پسزمینه
task = asyncio.create_task(task(3))
4️⃣ محدود کردن همزمانی با Semaphore
sem = asyncio.Semaphore(3)
async with sem:
await some_io()
5️⃣ Timeout برای جلوگیری از Hang
await asyncio.wait_for(task(1), timeout=2)
6️⃣ اجرای کد Blocking داخل Async
loop = asyncio.get_running_loop()
result = await loop.run_in_executor(None, blocking_func)
7️⃣ استفاده از ThreadPoolExecutor
from concurrent.futures import ThreadPoolExecutor
8️⃣ استفاده از ProcessPool برای CPU-Bound
from concurrent.futures import ProcessPoolExecutor
9️⃣ مدیریت Race Condition با Lock
lock = asyncio.Lock()
async with lock:
shared_resource += 1
🔟 Async HTTP Requests با aiohttp
import aiohttp
async with aiohttp.ClientSession() as session:
async with session.get("https://api.example.com") as resp:
data = await resp.json()
> ⚠️ نکته: Async برای I/O-Bound فوقالعاده است، اما برای CPU-Bound از multiprocessing استفاده کن.
#AsyncIO #Concurrency #Backend #Performance #PythonTricks
👇 تو پروژههات بیشتر با I/O-Bound سروکار داری یا CPU-Bound؟
✔️ کار با لیستها در پایتون با ۷ روش حرفهای!
برای مدیریت لیستها و دادههای متوالی، این تکنیکهای کاربردی را امتحان کنید:
1️⃣ ایجاد لیست
fruits = ['apple', 'banana', 'cherry']
print(fruits)
2️⃣ اضافه کردن عنصر
fruits.append('orange')
print(fruits)
3️⃣ درج عنصر در موقعیت خاص
fruits.insert(1, 'kiwi')
print(fruits)
4️⃣ حذف عنصر
fruits.remove('banana')
print(fruits)
5️⃣ دسترسی به عناصر با ایندکس
print(fruits[0]) # اولین عنصر
print(fruits[-1]) # آخرین عنصر
6️⃣ مرتبسازی لیست
numbers = [5, 2, 9, 1]
numbers.sort()
print(numbers)
7️⃣ لیستها با فهم لیست (List Comprehension)
squares = [x**2 for x in range(5)]
print(squares)
🗝 روش ویژه: تبدیل لیست به آرایه NumPy
import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr * 2)
#PythonMagic | #NumPy | #list | @learnpythonicy
برای مدیریت لیستها و دادههای متوالی، این تکنیکهای کاربردی را امتحان کنید:
1️⃣ ایجاد لیست
fruits = ['apple', 'banana', 'cherry']
print(fruits)
2️⃣ اضافه کردن عنصر
fruits.append('orange')
print(fruits)
3️⃣ درج عنصر در موقعیت خاص
fruits.insert(1, 'kiwi')
print(fruits)
4️⃣ حذف عنصر
fruits.remove('banana')
print(fruits)
5️⃣ دسترسی به عناصر با ایندکس
print(fruits[0]) # اولین عنصر
print(fruits[-1]) # آخرین عنصر
6️⃣ مرتبسازی لیست
numbers = [5, 2, 9, 1]
numbers.sort()
print(numbers)
7️⃣ لیستها با فهم لیست (List Comprehension)
squares = [x**2 for x in range(5)]
print(squares)
🗝 روش ویژه: تبدیل لیست به آرایه NumPy
import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr * 2)
#PythonMagic | #NumPy | #list | @learnpythonicy
🔴 چالش ۳۰ روزه Python for AI
اگر قصد ورود به دنیای هوش مصنوعی، یادگیری ماشین و Data Science را دارید، این چالش برای شماست.
در طول ۳۰ روز آینده با حل تمرینهای روزانه:
✅ مهارت حل مسئله با پایتون را تقویت میکنید
✅ با ابزارهای Data Science آشنا میشوید
✅ مدلهای Machine Learning خود را میسازید
✅ چند پروژه مناسب GitHub و رزومه خواهید داشت
مسیر چالش:
📍 هفته اول
تفکر برنامهنویسی و حل مسئله با Python
📍 هفته دوم
پروژههای کاربردی و تحلیل داده
📍 هفته سوم
ورود به Data Science با NumPy ،Pandas و Visualization
📍 هفته چهارم
ورود عملی به Machine Learning و AI
🏆 پروژههای پایانی:
• Student Analytics System
• Sales Data Analyzer
• Titanic Data Analysis
• House Price Prediction
🎯 خروجی نهایی:
• تسلط بیشتر بر Python
• آشنایی عملی با Data Science
• ورود به Machine Learning
• چند پروژه قابل انتشار در GitHub
⏰ هر روز ساعت ۲۰ چالش جدید منتشر میشود.
شما تا ساعت ۱۹:۵۹ روز بعد فرصت دارید پاسخ خود را ارسال کنید.
💡 در صورت نیاز Hint ارائه خواهد شد.
💡 پاسخ کامل روز بعد همراه با چالش جدید منتشر میشود.
🔥 غیبت = از دست دادن زنجیره یادگیری
اگر قصد ورود به دنیای هوش مصنوعی، یادگیری ماشین و Data Science را دارید، این چالش برای شماست.
در طول ۳۰ روز آینده با حل تمرینهای روزانه:
✅ مهارت حل مسئله با پایتون را تقویت میکنید
✅ با ابزارهای Data Science آشنا میشوید
✅ مدلهای Machine Learning خود را میسازید
✅ چند پروژه مناسب GitHub و رزومه خواهید داشت
مسیر چالش:
📍 هفته اول
تفکر برنامهنویسی و حل مسئله با Python
📍 هفته دوم
پروژههای کاربردی و تحلیل داده
📍 هفته سوم
ورود به Data Science با NumPy ،Pandas و Visualization
📍 هفته چهارم
ورود عملی به Machine Learning و AI
🏆 پروژههای پایانی:
• Student Analytics System
• Sales Data Analyzer
• Titanic Data Analysis
• House Price Prediction
🎯 بسته به میزان مشارکت، فعالیت و همراهی اعضا، سطح پروژهها میتواند ارتقا پیدا کند و پروژههای پیشرفتهتر و نزدیکتر به پروژههای واقعی AI به چالش اضافه شوند.
🎯 خروجی نهایی:
• تسلط بیشتر بر Python
• آشنایی عملی با Data Science
• ورود به Machine Learning
• چند پروژه قابل انتشار در GitHub
⏰ هر روز ساعت ۲۰ چالش جدید منتشر میشود.
شما تا ساعت ۱۹:۵۹ روز بعد فرصت دارید پاسخ خود را ارسال کنید.
💡 در صورت نیاز Hint ارائه خواهد شد.
💡 پاسخ کامل روز بعد همراه با چالش جدید منتشر میشود.
🔥 غیبت = از دست دادن زنجیره یادگیری
📢 روز یکم از چالش ۳۰ روزه Python for AI
#Day1
🎯 موضوع:
Variables + Input + Basic Calculations
⭐ سطح:
مبتدی
⏳ زمان تخمینی:
10 تا 20 دقیقه
📝 صورت مسئله:
فرض کنید میخواهیم اولین بخش یک Student Analytics System را طراحی کنیم.
دیتای زیر را در برنامه خود قرار دهید:
برنامه باید:
1️⃣ نام دانشجو را از کاربر دریافت کند.
2️⃣ اطلاعات دانشجو را نمایش دهد:
- Name
- Credits Passed
- GPA
- Remaining Credits
- Progress Percentage
*فرض کنید برای فارغالتحصیلی به 140 واحد نیاز است.
( اگر دانشجو 140 واحد یا بیشتر گذرانده باشد:
Status: Graduated
در غیر این صورت:
Status: In Progress
)
📋 قوانین:
✅ خروجیها و نام متغیرها به زبان انگلیسی باشند.
❌ استفاده از ChatGPT فقط برای گرفتن Hint مجاز است، نه دریافت کد کامل
💡 اگر مبتدی هستی
نگران نباش. هدف این چالش یادگیری و پیشرفت روزانه است، نه کامل بودن.
❓ اگر به راهنمایی نیاز داشتی
راه ارتباطی فراوانه (کامنت،گروه، بات)
@learnpythonicychat
@learnpythonicyBot
⏰ مهلت ارسال پاسخ
فردا ساعت 20:00
فردا علاوه بر انتشار پاسخ رسمی، چالش Day 2 را هم میزارم.
🧡🔥 تغییرات بزرگ یک شبه اتفاق نمیافتند.
#Day1
🎯 موضوع:
Variables + Input + Basic Calculations
⭐ سطح:
مبتدی
⏳ زمان تخمینی:
10 تا 20 دقیقه
📝 صورت مسئله:
فرض کنید میخواهیم اولین بخش یک Student Analytics System را طراحی کنیم.
دیتای زیر را در برنامه خود قرار دهید:
students = {
"Ali": {"credits": 70, "gpa": 17.8},
"Sara": {"credits": 95, "gpa": 18.5},
"Reza": {"credits": 40, "gpa": 15.2},
"Nima": {"credits": 120, "gpa": 18.1},
"Parsa": {"credits": 55, "gpa": 16.4},
"Arman": {"credits": 80, "gpa": 17.1},
"Mina": {"credits": 140, "gpa": 19.0},
"Ava": {"credits": 35, "gpa": 16.8},
"Yasmin": {"credits": 110, "gpa": 18.7},
"Amir": {"credits": 65, "gpa": 15.9}
}برنامه باید:
1️⃣ نام دانشجو را از کاربر دریافت کند.
2️⃣ اطلاعات دانشجو را نمایش دهد:
- Name
- Credits Passed
- GPA
- Remaining Credits
- Progress Percentage
*فرض کنید برای فارغالتحصیلی به 140 واحد نیاز است.
( اگر دانشجو 140 واحد یا بیشتر گذرانده باشد:
Status: Graduated
در غیر این صورت:
Status: In Progress
)
📌 نمونه خروجی:
Enter student name: Ali
Name: Ali
Credits Passed: 70
GPA: 17.8
Remaining Credits: 70
Progress: 50%
📋 قوانین:
✅ خروجیها و نام متغیرها به زبان انگلیسی باشند.
❌ استفاده از ChatGPT فقط برای گرفتن Hint مجاز است، نه دریافت کد کامل
💡 اگر مبتدی هستی
نگران نباش. هدف این چالش یادگیری و پیشرفت روزانه است، نه کامل بودن.
❓ اگر به راهنمایی نیاز داشتی
راه ارتباطی فراوانه (کامنت،گروه، بات)
@learnpythonicychat
@learnpythonicyBot
⏰ مهلت ارسال پاسخ
فردا ساعت 20:00
فردا علاوه بر انتشار پاسخ رسمی، چالش Day 2 را هم میزارم.
🧡🔥 تغییرات بزرگ یک شبه اتفاق نمیافتند.
آموزش پایتون
📢 روز یکم از چالش ۳۰ روزه Python for AI #Day1 🎯 موضوع: Variables + Input + Basic Calculations ⭐ سطح: مبتدی ⏳ زمان تخمینی: 10 تا 20 دقیقه 📝 صورت مسئله: فرض کنید میخواهیم اولین بخش یک Student Analytics System را طراحی کنیم. دیتای زیر را در برنامه خود…
✅ پاسخ چالش Day 1
یکی از راهحلهای ممکن:
📚 مفاهیمی که در این چالش تمرین کردیم:
✅ Variables
✅ User Input
✅ Dictionary
✅ Nested Dictionary Access
✅ Basic Calculations
✅ Conditional Statements (if/else)
✅ Formatted Output
💡 نکته:
اگر نام دانشجویی وارد شود که در دیتاست وجود ندارد، برنامه خطا میدهد. در چالشهای آینده یاد میگیریم چطور این خطاها را مدیریت کنیم.
🔥 اگر راهحل متفاوتی نوشتید، در کامنتها ارسال کنید. گاهی چندین راهحل مختلف برای یک مسئله وجود داره و دیدن روشهای دیگه میتونه آموزنده باشه.
🔜 آماده چالش Day 2 باشید...
یکی از راهحلهای ممکن:
students = {
"Ali": {"credits": 70, "gpa": 17.8},
"Sara": {"credits": 95, "gpa": 18.5},
"Reza": {"credits": 40, "gpa": 15.2},
"Nima": {"credits": 120, "gpa": 18.1},
"Parsa": {"credits": 55, "gpa": 16.4},
"Arman": {"credits": 80, "gpa": 17.1},
"Mina": {"credits": 140, "gpa": 19.0},
"Ava": {"credits": 35, "gpa": 16.8},
"Yasmin": {"credits": 110, "gpa": 18.7},
"Amir": {"credits": 65, "gpa": 15.9}
}
student_name = input("Enter student name: ")
credits = students[student_name]["credits"]
gpa = students[student_name]["gpa"]
remaining_credits = 140 - credits
progress_percentage = (credits / 140) * 100
if credits >= 140:
status = "Graduated"
else:
status = "In Progress"
print("\nStudent Information")
print("-------------------")
print("Name:", student_name)
print("Credits Passed:", credits)
print("GPA:", gpa)
print("Remaining Credits:", remaining_credits)
print(f"Progress: {progress_percentage:.2f}%")
print("Status:", status)📚 مفاهیمی که در این چالش تمرین کردیم:
✅ Variables
✅ User Input
✅ Dictionary
✅ Nested Dictionary Access
✅ Basic Calculations
✅ Conditional Statements (if/else)
✅ Formatted Output
💡 نکته:
اگر نام دانشجویی وارد شود که در دیتاست وجود ندارد، برنامه خطا میدهد. در چالشهای آینده یاد میگیریم چطور این خطاها را مدیریت کنیم.
🔥 اگر راهحل متفاوتی نوشتید، در کامنتها ارسال کنید. گاهی چندین راهحل مختلف برای یک مسئله وجود داره و دیدن روشهای دیگه میتونه آموزنده باشه.
🔜 آماده چالش Day 2 باشید...
🔥 چالش ۳۰ روزه Python for AI
#Day2
🎯 موضوع:
Conditional Statements (if / elif / else)
⭐ سطح:
مبتدی
⏳ زمان تخمینی:
10 تا 25 دقیقه
📝 صورت مسئله:
در بسیاری از سیستمهای AI و Data Analytics، قبل از تحلیل دادهها باید آنها را دستهبندی کنیم.
فرض کنید میخواهیم دانشجویان را بر اساس معدل طبقهبندی کنیم.
برنامهای بنویسید که:
1️⃣ نام دانشجو را از کاربر دریافت کند.
2️⃣ اطلاعات دانشجو را از دیتاست زیر پیدا کند.
3️⃣ علاوه بر نمایش اطلاعات، وضعیت تحصیلی او را نیز تعیین کند.
📌 Academic Level
اگر GPA برابر یا بیشتر از 18 بود:
Excellent
اگر GPA بین 16 و 18 بود:
Good
اگر GPA بین 14 و 16 بود:
Average
اگر GPA کمتر از 14 بود:
Needs Improvement
💡 اگر مبتدی هستید:
ابتدا روی بخش Academic Level تمرکز کنید و سپس Bonus را انجام دهید.
❓ اگر به راهنمایی نیاز داشتید:
در کامنتها سؤال بپرسید یا از طریق بات پیام ارسال کنید.
⏰ مهلت ارسال پاسخ:
فردا ساعت 20:00
🔺 امروز داریم اولین قدمهای واقعی در دستهبندی دادهها (Classification Logic) را تمرین میکنیم؛ مفهومی که بعدها در Machine Learning بسیار مهم خواهد بود.
#Day2
🎯 موضوع:
Conditional Statements (if / elif / else)
⭐ سطح:
مبتدی
⏳ زمان تخمینی:
10 تا 25 دقیقه
📝 صورت مسئله:
در بسیاری از سیستمهای AI و Data Analytics، قبل از تحلیل دادهها باید آنها را دستهبندی کنیم.
فرض کنید میخواهیم دانشجویان را بر اساس معدل طبقهبندی کنیم.
برنامهای بنویسید که:
1️⃣ نام دانشجو را از کاربر دریافت کند.
2️⃣ اطلاعات دانشجو را از دیتاست زیر پیدا کند.
3️⃣ علاوه بر نمایش اطلاعات، وضعیت تحصیلی او را نیز تعیین کند.
students = {
"Ali": {"credits": 70, "gpa": 17.8},
"Sara": {"credits": 95, "gpa": 18.5},
"Reza": {"credits": 40, "gpa": 15.2},
"Nima": {"credits": 120, "gpa": 18.1},
"Parsa": {"credits": 55, "gpa": 16.4},
"Arman": {"credits": 80, "gpa": 17.1},
"Mina": {"credits": 140, "gpa": 19.0},
"Ava": {"credits": 35, "gpa": 16.8},
"Yasmin": {"credits": 110, "gpa": 18.7},
"Amir": {"credits": 65, "gpa": 15.9}
}📌 Academic Level
اگر GPA برابر یا بیشتر از 18 بود:
Excellent
اگر GPA بین 16 و 18 بود:
Good
اگر GPA بین 14 و 16 بود:
Average
اگر GPA کمتر از 14 بود:
Needs Improvement
📌 نمونه خروجی:
Enter student name: Sara
Name: Sara
GPA: 18.5
Academic Level: Excellent
🎯 Bonus Challenge
علاوه بر Academic Level مشخص کنید آیا به دانشجو اسکالرشیپ تعلق میگیرد یا خیر:
Eligible for Scholarship
شرط بورسیه:
- GPA >= 18
- Credits >= 90
💡 اگر مبتدی هستید:
ابتدا روی بخش Academic Level تمرکز کنید و سپس Bonus را انجام دهید.
❓ اگر به راهنمایی نیاز داشتید:
در کامنتها سؤال بپرسید یا از طریق بات پیام ارسال کنید.
⏰ مهلت ارسال پاسخ:
فردا ساعت 20:00
🔺 امروز داریم اولین قدمهای واقعی در دستهبندی دادهها (Classification Logic) را تمرین میکنیم؛ مفهومی که بعدها در Machine Learning بسیار مهم خواهد بود.
👨💻2
آموزش پایتون
🔥 چالش ۳۰ روزه Python for AI #Day2 🎯 موضوع: Conditional Statements (if / elif / else) ⭐ سطح: مبتدی ⏳ زمان تخمینی: 10 تا 25 دقیقه 📝 صورت مسئله: در بسیاری از سیستمهای AI و Data Analytics، قبل از تحلیل دادهها باید آنها را دستهبندی کنیم. فرض کنید میخواهیم…
✅ پاسخ چالش Day 2
یکی از راهحلهای ممکن:
📚 مفاهیمی که در این چالش تمرین کردیم:
✅ Variables
✅ User Input
✅ Dictionary
✅ Nested Dictionary Access
✅ Conditional Statements
✅ if / elif / else
✅ Comparison Operators
✅ Logical Operator and
✅ Classification Logic
✅ Formatted Output
💡 نکته:
در این چالش با استفاده از شرطها، دانشجویان را بر اساس GPA دستهبندی کردیم. این نوع منطق شرطی، پایهایترین شکل Classification است و در مراحل بعدی یادگیری Machine Learning کاربرد زیادی دارد.
🎁 Bonus:
برای بررسی بورسیه، دو شرط را همزمان بررسی کردیم:
GPA >= 18
Credits >= 90
اگر هر دو شرط درست باشند، دانشجو واجد شرایط Scholarship خواهد بود.
🔥 اگر راهحل متفاوتی نوشتید، در کامنتها ارسال کنید. گاهی چندین راهحل مختلف برای یک مسئله وجود داره و دیدن روشهای دیگه میتونه آموزنده باشه.
🔜 آماده چالش Day 3 باشید...
یکی از راهحلهای ممکن:
students = {
"Ali": {"credits": 70, "gpa": 17.8},
"Sara": {"credits": 95, "gpa": 18.5},
"Reza": {"credits": 40, "gpa": 15.2},
"Nima": {"credits": 120, "gpa": 18.1},
"Parsa": {"credits": 55, "gpa": 16.4},
"Arman": {"credits": 80, "gpa": 17.1},
"Mina": {"credits": 140, "gpa": 19.0},
"Ava": {"credits": 35, "gpa": 16.8},
"Yasmin": {"credits": 110, "gpa": 18.7},
"Amir": {"credits": 65, "gpa": 15.9}
}
student_name = input("Enter student name: ").strip().title()
if student_name in students:
credits = students[student_name]["credits"]
gpa = students[student_name]["gpa"]
if gpa >= 18:
academic_level = "Excellent"
elif gpa >= 16:
academic_level = "Good"
elif gpa >= 14:
academic_level = "Average"
else:
academic_level = "Needs Improvement"
if gpa >= 18 and credits >= 90:
scholarship = "Eligible for Scholarship"
else:
scholarship = "Not Eligible for Scholarship"
print("\nStudent Information")
print("-------------------")
print("Name:", student_name)
print("Credits Passed:", credits)
print("GPA:", gpa)
print("Academic Level:", academic_level)
print("Scholarship:", scholarship)
else:
print("Student not found")📚 مفاهیمی که در این چالش تمرین کردیم:
✅ Variables
✅ User Input
✅ Dictionary
✅ Nested Dictionary Access
✅ Conditional Statements
✅ if / elif / else
✅ Comparison Operators
✅ Logical Operator and
✅ Classification Logic
✅ Formatted Output
💡 نکته:
در این چالش با استفاده از شرطها، دانشجویان را بر اساس GPA دستهبندی کردیم. این نوع منطق شرطی، پایهایترین شکل Classification است و در مراحل بعدی یادگیری Machine Learning کاربرد زیادی دارد.
🎁 Bonus:
برای بررسی بورسیه، دو شرط را همزمان بررسی کردیم:
GPA >= 18
Credits >= 90
اگر هر دو شرط درست باشند، دانشجو واجد شرایط Scholarship خواهد بود.
🔥 اگر راهحل متفاوتی نوشتید، در کامنتها ارسال کنید. گاهی چندین راهحل مختلف برای یک مسئله وجود داره و دیدن روشهای دیگه میتونه آموزنده باشه.
🔜 آماده چالش Day 3 باشید...
🔥 چالش ۳۰ روزه Python for AI
#Day3
🎯 موضوع:
Loops (for)
⭐ سطح:
مبتدی تا متوسط
⏳ زمان تخمینی:
15 تا 30 دقیقه
📝 صورت مسئله:
در سیستمهای تحلیلی معمولاً لازم است همه دادهها را بررسی کنیم.
دیتاست زیر را در برنامه قرار دهید:
برنامه باید:
✅ تعداد کل دانشجویان را نمایش دهد.
✅ میانگین GPA را محاسبه کند.
✅ دانشجویی با بیشترین GPA را پیدا کند.
✅ دانشجویی با کمترین GPA را پیدا کند.
🎯 Bonus Challenge
تعداد دانشجویانی که GPA آنها بیشتر یا مساوی 18 است را محاسبه کنید.
📋 نکته:
برای حل این مسئله باید روی تمام دانشجویان Loop بزنید.
⏰ مهلت ارسال پاسخ:
فردا ساعت 20:00
#Day3
🎯 موضوع:
Loops (for)
⭐ سطح:
مبتدی تا متوسط
⏳ زمان تخمینی:
15 تا 30 دقیقه
📝 صورت مسئله:
در سیستمهای تحلیلی معمولاً لازم است همه دادهها را بررسی کنیم.
دیتاست زیر را در برنامه قرار دهید:
students = {
"Ali": {"credits": 70, "gpa": 17.8},
"Sara": {"credits": 95, "gpa": 18.5},
"Reza": {"credits": 40, "gpa": 15.2},
"Nima": {"credits": 120, "gpa": 18.1},
"Parsa": {"credits": 55, "gpa": 16.4},
"Arman": {"credits": 80, "gpa": 17.1},
"Mina": {"credits": 140, "gpa": 19.0},
"Ava": {"credits": 35, "gpa": 16.8},
"Yasmin": {"credits": 110, "gpa": 18.7},
"Amir": {"credits": 65, "gpa": 15.9}
}برنامه باید:
✅ تعداد کل دانشجویان را نمایش دهد.
✅ میانگین GPA را محاسبه کند.
✅ دانشجویی با بیشترین GPA را پیدا کند.
✅ دانشجویی با کمترین GPA را پیدا کند.
📌 نمونه خروجی:
Total Students: 10
Average GPA: 17.54
Top Student: Mina (19.0)
Lowest GPA: Reza (15.2)
🎯 Bonus Challenge
تعداد دانشجویانی که GPA آنها بیشتر یا مساوی 18 است را محاسبه کنید.
📋 نکته:
برای حل این مسئله باید روی تمام دانشجویان Loop بزنید.
⏰ مهلت ارسال پاسخ:
فردا ساعت 20:00
✅ پاسخ چالش Day 3
یکی از راهحلهای ممکن:👇
@learnpythonicy
یکی از راهحلهای ممکن:👇
students = {
"Ali": {"credits": 70, "gpa": 17.8},
"Sara": {"credits": 95, "gpa": 18.5},
"Reza": {"credits": 40, "gpa": 15.2},
"Nima": {"credits": 120, "gpa": 18.1},
"Parsa": {"credits": 55, "gpa": 16.4},
"Arman": {"credits": 80, "gpa": 17.1},
"Mina": {"credits": 140, "gpa": 19.0},
"Ava": {"credits": 35, "gpa": 16.8},
"Yasmin": {"credits": 110, "gpa": 18.7},
"Amir": {"credits": 65, "gpa": 15.9}
}
total_students = len(students)
total_gpa = 0
top_student = ""
top_gpa = 0
lowest_student = ""
lowest_gpa = 20
scholarship_count = 0
for name, info in students.items():
gpa = info["gpa"]
total_gpa += gpa
if gpa > top_gpa:
top_gpa = gpa
top_student = name
if gpa < lowest_gpa:
lowest_gpa = gpa
lowest_student = name
if gpa >= 18:
scholarship_count += 1
average_gpa = total_gpa / total_students
print("Total Students:", total_students)
print("Average GPA:", round(average_gpa, 2))
print("\nTop Student:")
print(f"{top_student} ({top_gpa})")
print("\nLowest GPA:")
print(f"{lowest_student} ({lowest_gpa})")
print("\nStudents with GPA >= 18:")
print(scholarship_count)@learnpythonicy
🔥 چالش ۳۰ روزه Python for AI
#Day4
🎯 موضوع:
Functions
⭐️ سطح:
متوسط
⏳ زمان تخمینی:
20 تا 35 دقیقه
📝 صورت مسئله:
در پروژههای واقعی، کدهای تکراری باید داخل Function قرار بگیرند.
دیتاست روزهای قبل را استفاده کنید.
سه تابع بنویسید:
Function 1
get_average_gpa()
میانگین GPA را برگرداند.
Function 2
get_top_student()
نام و GPA بهترین دانشجو را برگرداند.
Function 3
get_scholarship_students()
تمام دانشجویانی که:
GPA >= 18
دارند را نمایش دهد.
🎯 Bonus Challenge
یک تابع بنویسید:
find_student(name)
که نام دانشجو را دریافت کرده و اطلاعات او را نمایش دهد.
📋 هدف امروز:
یادگیری ساخت کدهای تمیزتر و قابل استفاده مجدد.
⏰ مهلت ارسال پاسخ:
فردا ساعت 20:00
#Day4
🎯 موضوع:
Functions
⭐️ سطح:
متوسط
⏳ زمان تخمینی:
20 تا 35 دقیقه
📝 صورت مسئله:
در پروژههای واقعی، کدهای تکراری باید داخل Function قرار بگیرند.
دیتاست روزهای قبل را استفاده کنید.
سه تابع بنویسید:
Function 1
get_average_gpa()
میانگین GPA را برگرداند.
Function 2
get_top_student()
نام و GPA بهترین دانشجو را برگرداند.
Function 3
get_scholarship_students()
تمام دانشجویانی که:
GPA >= 18
دارند را نمایش دهد.
📌 نمونه خروجی:
Average GPA: 17.54
Top Student:
Mina (19.0)
Scholarship Students:
Sara
Nima
Mina
Yasmin
🎯 Bonus Challenge
یک تابع بنویسید:
find_student(name)
که نام دانشجو را دریافت کرده و اطلاعات او را نمایش دهد.
📋 هدف امروز:
یادگیری ساخت کدهای تمیزتر و قابل استفاده مجدد.
⏰ مهلت ارسال پاسخ:
فردا ساعت 20:00
آموزش پایتون
🔥 چالش ۳۰ روزه Python for AI #Day3 🎯 موضوع: Loops (for) ⭐ سطح: مبتدی تا متوسط ⏳ زمان تخمینی: 15 تا 30 دقیقه 📝 صورت مسئله: در سیستمهای تحلیلی معمولاً لازم است همه دادهها را بررسی کنیم. دیتاست زیر را در برنامه قرار دهید: students = { "Ali": {"credits":…
✅ پاسخ چالش Day 4
یکی از راهحلهای ممکن:
💡 نکته آموزشی:
تابع یا Function باعث میشود کدها تمیزتر، قابل استفاده مجدد و قابل نگهداریتر شوند.
هر تابع فقط یک وظیفه مشخص داره (اصل Single Responsibility).
مقدار خروجی با return به برنامه برگردانده میشه و از آن در بخشهای مختلف برنامه میشه استفاده کرد.
@learnpythonicy
یکی از راهحلهای ممکن:
students = {
"Ali": {"credits": 70, "gpa": 17.8},
"Sara": {"credits": 95, "gpa": 18.5},
"Reza": {"credits": 40, "gpa": 15.2},
"Nima": {"credits": 120, "gpa": 18.1},
"Parsa": {"credits": 55, "gpa": 16.4},
"Arman": {"credits": 80, "gpa": 17.1},
"Mina": {"credits": 140, "gpa": 19.0},
"Ava": {"credits": 35, "gpa": 16.8},
"Yasmin": {"credits": 110, "gpa": 18.7},
"Amir": {"credits": 65, "gpa": 15.9}
}
def get_average_gpa():
total_gpa = 0
for student in students:
total_gpa += students[student]["gpa"]
return total_gpa / len(students)
def get_top_student():
top_name = ""
top_gpa = 0
for student in students:
if students[student]["gpa"] > top_gpa:
top_gpa = students[student]["gpa"]
top_name = student
return top_name, top_gpa
def get_scholarship_students():
scholarship_students = []
for student in students:
if students[student]["gpa"] >= 18:
scholarship_students.append(student)
return scholarship_students
# Bonus Challenge
def find_student(name):
if name in students:
print(f"Name: {name}")
print(f"Credits: {students[name]['credits']}")
print(f"GPA: {students[name]['gpa']}")
else:
print("Student not found")
print(f"Average GPA: {get_average_gpa():.2f}")
top_name, top_gpa = get_top_student()
print("\nTop Student:")
print(f"{top_name} ({top_gpa})")
print("\nScholarship Students:")
for student in get_scholarship_students():
print(student)
print("\nFind Student:")
find_student("Sara")💡 نکته آموزشی:
تابع یا Function باعث میشود کدها تمیزتر، قابل استفاده مجدد و قابل نگهداریتر شوند.
هر تابع فقط یک وظیفه مشخص داره (اصل Single Responsibility).
مقدار خروجی با return به برنامه برگردانده میشه و از آن در بخشهای مختلف برنامه میشه استفاده کرد.
@learnpythonicy