eitaa logo
آموزش پایتون
63 دنبال‌کننده
244 عکس
106 ویدیو
52 فایل
ارتباط: https://eitaa.com/joinchat/956171922Cb501d5a32f لینک همین کانال: @LearnPythonIcy لینک کانال تلگرام: https://t.me/learnpythonicy
مشاهده در ایتا
دانلود
آموزش پایتون
🔥 چالش ۳۰ روزه Python for AI #Day14 🎯 موضوع: Mini Project — Student Data Analysis System ⭐ سطح: م
import csv class Student: def init(self, name, gpa, credits): self.name = name self.gpa = gpa self.credits = credits def get_status(self): if self.credits >= 120: return "Graduated" return "In Progress" def show_info(self): print(f"Name: {self.name}") print(f"GPA: {self.gpa}") print(f"Credits: {self.credits}") print(f"Status: {self.get_status()}") def load_students(filename): students = [] try: with open(filename, "r", encoding="utf-8") as file: reader = csv.DictReader(file) for row in reader: student = Student( name=row["name"].strip(), gpa=float(row["gpa"]), credits=int(row["credits"]) ) students.append(student) except FileNotFoundError: print(f"Error: {filename} was not found.") except (ValueError, KeyError): print("Error: Invalid data in CSV file.") except OSError as error: print(f"Error reading file: {error}") return students def show_summary(students): if not students: print("No student data available.") return average_gpa = sum(student.gpa for student in students) / len(students) top_student = max(students, key=lambda student: student.gpa) high_gpa_students = [ student for student in students if student.gpa >= 18 ] low_gpa_students = [ student for student in students if student.gpa < 16 ] print("\n= Student Analysis System =") print(f"\nTotal Students: {len(students)}") print(f"Average GPA: {average_gpa:.2f}") print( f"Top Student: {top_student.name} " f"({top_student.gpa})" ) print("\nStudents With GPA >= 18:") for student in high_gpa_students: print(student.name) print(f"\nCount: {len(high_gpa_students)}") print("\nStudents With GPA < 16:") for student in low_gpa_students: print(student.name) print(f"\nCount: {len(low_gpa_students)}") def search_student(students): name = input("\nEnter student name: ").strip() if not name: print("Please enter a valid name.") return for student in students: if student.name.lower() == name.lower(): print() student.show_info() return print("Student not found!") def show_top_students(students): top_students = sorted( students, key=lambda student: student.gpa, reverse=True ) print("\n= Top Students =") for rank, student in enumerate(top_students, start=1): print(f"{rank}. {student.name} - {student.gpa}") def show_graduated_students(students): graduated_students = [ student for student in students if student.get_status() == "Graduated" ] print("\n= Graduated Students =") if not graduated_students: print("No graduated students found.") return for student in graduated_students: print( f"{student.name} - " f"{student.credits} Credits" ) def show_menu(): print("\n===== Student Analysis Menu =====") print("1. Show Summary") print("2. Search Student") print("3. Show Top Students") print("4. Show Graduated Students") print("5. Exit") def main(): students = load_students("students.csv") if not students: return while True: show_menu() choice = input("\nEnter your choice: ").strip() if choice == "1": show_summary(students) elif choice == "2": search_student(students) elif choice == "3": show_top_students(students) elif choice == "4": show_graduated_students(students) elif choice == "5": print("\nProgram closed.") break else: print("\nInvalid choice. Please select 1 to 5.") if name == "__main__": main()
🔥 چالش ۳۰ روزه Python for AI 🎯 موضوع: NumPy Arrays & Data Analysis ⭐ سطح: متوسط ⏳ زمان تخمینی: 25 تا 45 دقیقه 📝 صورت مسئله: فرض کنید نمرات دانشجویان در یک آرایه NumPy ذخیره شده‌اند: scores = [18, 15, 20, 17, 19, 14, 16, 18, 20, 17] برنامه باید: ✅ تمام نمرات بالاتر از میانگین را نمایش دهد. ✅ تعداد نمرات بالاتر از میانگین را محاسبه کند. ✅ درصد نمرات بالاتر از میانگین را محاسبه کند. 📌 نمونه خروجی: Average Score: 17.4 Scores Above Average: 18 20 19 18 20 Count: 5 Percentage: 50% 🎯 Bonus Challenge تمام نمرات کمتر از میانگین را نیز نمایش دهید. 📋 هدف امروز: تمرین Filtering و Boolean Indexing؛ مفهومی که بعدها در Pandas و Machine Learning بسیار استفاده می‌شود. ⏰ مهلت ارسال پاسخ: فردا ساعت 20:00
🔥 چالش ۳۰ روزه Python for AI 🎯 موضوع: Introduction to Pandas 📝 صورت مسئله: دیتاست زیر را در قالب DataFrame ایجاد کنید: data = { "Name": ["Ali", "Sara", "Reza", "Nima", "Parsa"], "GPA": [17.8, 18.5, 15.2, 18.1, 16.4], "Credits": [70, 95, 40, 120, 55] } برنامه باید: ✅ DataFrame را نمایش دهد. ✅ میانگین GPA را محاسبه کند. ✅ بهترین دانشجو را پیدا کند. ✅ دانشجویانی که GPA آن‌ها بیشتر از 18 است را نمایش دهد. 🎯 Bonus Challenge یک ستون جدید به نام: Status اضافه کنید. اگر GPA ≥ 18: Excellent در غیر این صورت: Normal 📋 هدف امروز: ورود به Pandas؛ مهم‌ترین ابزار تحلیل داده در Python.
پاسخ روز 17ام
2.7M حجم رسانه بالاست
مشاهده در ایتا
🚀 شهاب‌سنگ‌ها رو بترکون. با پایتون بازی بساز، شلیک کن و رکورد بزن! 🎮☄️
16.7M حجم رسانه بالاست
مشاهده در ایتا
🔥 وقتشه قدرت واقعی چیزهایی که تا امروز یاد گرفتیم رو ببینیم! از Day 1 تا Day 17 چیا یادگرفنیم؟! ✅ Variables ✅ Conditions ✅ Loops ✅ Functions ✅ Lists & Dictionaries ✅ File Handling ✅ CSV ✅ Error Handling ✅ OOP ✅ NumPy ✅ Pandas شاید هرکدام از این تمرین‌ها به‌تنهایی ساده به نظر می‌رسیدند؛ اما وقتی کنار هم قرار می‌گیرند، می‌توانند به یک کامل و حرفه‌ای تبدیل شوند. 🎥 ویدیویی که می‌بینید، نمونه‌ای از خروجی همین مسیر است: Smart Student Success Dashboard یک داشبورد هوشمند برای: 📊 تحلیل عملکرد دانشجویان 🔍 جست‌وجوی اطلاعات هر دانشجو 🏆 شناسایی دانشجویان برتر ⚠️ پیدا کردن دانشجویان نیازمند حمایت 📈 نمایش نمودارهای تحلیلی 🎓 بررسی میزان پیشرفت تا فارغ‌التحصیلی
آموزش پایتون
🔥 وقتشه قدرت واقعی چیزهایی که تا امروز یاد گرفتیم رو ببینیم! از Day 1 تا Day 17 چیا یادگرفنیم؟! ✅ V
🚀 چالش این هفته: با استفاده از آموخته‌های Day 1 تا Day 17، نسخه خودتان از این پروژه را بسازید. لازم نیست طراحی شما دقیقاً شبیه ویدیو باشد. نسخه ساده، ناقص یا در حال توسعه هم پذیرفته می‌شود؛ مهم این است که شروع کنید و دانسته‌هایتان را به یک خروجی واقعی تبدیل کنید. 🟢 حداقل امکانات پیشنهادی: • خواندن اطلاعات از CSV • نمایش آمار کلی دانشجویان • جست‌وجوی دانشجو • شناسایی دانشجوی برتر • نمایش وضعیت تحصیلی • حداقل یک نمودار تحلیلی 🔴 چالش Pro: • ساخت رابط کاربری با Streamlit • اضافه‌کردن فیلتر و نمودارهای تعاملی • شناسایی دانشجویان At Risk • امکان دانلود گزارش • انتشار پروژه در GitHub ⏰ مهلت ارسال پروژه: تا پایان هفته https://eitaa.com/joinchat/956171922Cb501d5a32f 📤 می‌توانید یکی از موارد زیر را ارسال کنید: ✅ فایل کد ✅ لینک GitHub ✅ اسکرین‌شات خروجی ✅ ویدیوی کوتاه اجرای پروژه
آموزش پایتون
🚀 چالش این هفته: با استفاده از آموخته‌های Day 1 تا Day 17، نسخه خودتان از این پروژه را بسازید. لازم
خیلی‌ها فکر کردند این Dashboard فقط با چند خط کد ساخته شده... اما پشت این پروژه: 17 روز تمرین، صدها خط کد، و ترکیب چندین مفهوم Python وجود دارد. حالا مرحله بعد شروع می‌شود: هر هفته یک پروژه واقعی می‌سازیم! پروژه بعدی: 🚀 Sales Data Analyzer
🐍 — Data Cleaning & Data Preparation داده‌های واقعی همیشه تمیز و آماده تحلیل نیستند! امروز قرار است نقش یک Data Analyst را بازی کنیم و یک دیتاست خام را آماده کنیم. 🎯 Challenge: Clean a Real-World Sales Dataset در این تمرین ابتدا باید یک فایل به نام: 📂 sales_raw.csv بسازید که شامل اطلاعات فروش باشد: Order_ID Date Customer Product Category Region Quantity Price (حدود 15,000 رکورد) اما این داده‌ها باید شامل مشکلات واقعی باشند: ❌ مقادیر خالی (Missing Values) ❌ ردیف‌های تکراری (Duplicate Rows) ❌ تاریخ‌های با فرمت اشتباه ❌ داده‌های نامعتبر در بعضی ستون‌ها Tasks: ✅ 1. خواندن فایل CSV با Pandas ✅ 2. بررسی کیفیت داده: تعداد Missing Values تعداد Duplicate Rows نوع داده هر ستون ✅ 3. پاکسازی داده: 🧹 حذف رکوردهای خراب 📅 تبدیل ستون Date به فرمت صحیح 💰 ساخت ستون جدید: Revenue = Quantity × Price ✅ 4. ذخیره دیتاست نهایی: sales_cleaned.csv Expected Output: Before Cleaning: Original rows: 15,000 https://eitaa.com/learnpythonicy