🔥 چالش ۳۰ روزه Python for AI
#Day9
📁 File Handling
تمرین امروز داخل تصویر کامل توضیح داده شده 👌
فقط کافیه فایل رو بخونی و با چند خط کد دادهها رو تحلیل کنی 😎
👀 اگر هینت نیاز داری داخل گروه کلمه راهنما و ارسال کن
راه ارتباطی
https://eitaa.com/joinchat/956171922Cb501d5a32f
آموزش پایتون
🔥 چالش ۳۰ روزه Python for AI #Day9 📁 File Handling تمرین امروز داخل تصویر کامل توضیح داده شده 👌
# Create and write file
with open("students.txt", "w") as file:
file.write("Ali,17.8\n")
file.write("Sara,18.5\n")
file.write("Reza,15.2\n")
file.write("Nima,18.1\n")
file.write("Parsa,16.4\n")
# Read file
students = []
with open("students.txt", "r") as file:
for line in file:
name, gpa = line.strip().split(",")
students.append((name, float(gpa)))
# Total students
total_students = len(students)
# Calculate average GPA
total_gpa = 0
top_student = ""
top_gpa = -1
for name, gpa in students:
total_gpa += gpa
if gpa > top_gpa:
top_gpa = gpa
top_student = name
average_gpa = total_gpa / total_students
# Bonus: students above 18
above_18 = []
for name, gpa in students:
if gpa > 18:
above_18.append((name, gpa))
# Output
print("Total Students:", total_students)
print("Average GPA:", round(average_gpa, 1))
print("\nTop Student:")
print(f"{top_student} ({top_gpa})")
print("\nStudents with GPA > 18:")
for name, gpa in above_18:
print(f"{name} ({gpa})")🔥 #Day10 of Python for AI Challenge
Working with CSV files is your first step into real-world data handling 📊
Today you’ll learn how to read, analyze, and extract insights from structured datasets using Python.
Small step, big move toward Data Science
🔥 چالش ۳۰ روزه Python for AI
#Day11
🎯 موضوع:
Error Handling (try / except)
⭐ سطح:
متوسط
⏳ زمان تخمینی:
20 تا 35 دقیقه
📝 صورت مسئله:
دیتاست زیر را در برنامه قرار دهید:
students = {
"Ali": 17.8,
"Sara": 18.5,
"Reza": 15.2,
"Nima": 18.1,
"Parsa": 16.4
}
برنامه باید:
✅ نام دانشجو را از کاربر دریافت کند.
✅ GPA او را نمایش دهد.
اما اگر دانشجو در دیتاست وجود نداشت:
Student not found!
را نمایش دهد و برنامه متوقف نشود.
📌 نمونه خروجی:
Enter student name: Ali
GPA: 17.8
یا
Enter student name: John
Student not found!
🎯 Bonus Challenge
اگر کاربر ورودی خالی وارد کرد:
Please enter a valid name.
نمایش داده شود.
📋 هدف:
یادگیری مدیریت خطاها؛ مهارتی که در تمام پروژههای واقعی Python، Data Science و AI ضروری است.
⏰ مهلت:
فردا ساعت 20:00
https://eitaa.com/joinchat/956171922Cb501d5a32f
🔥 چالش ۳۰ روزه Python for AI
#Day12
🎯 موضوع:
Object-Oriented Programming (OOP)
⭐ سطح:
متوسط
⏳ زمان تخمینی:
25 تا 40 دقیقه
📝 صورت مسئله:
تا اینجا اطلاعات دانشجویان را با Dictionary ذخیره میکردیم.
امروز میخواهیم از OOP استفاده کنیم.
یک کلاس به نام:
Student
ایجاد کنید.
این کلاس باید شامل موارد زیر باشد:
✅ name
✅ gpa
✅ credits
و یک متد به نام:
show_info()
که اطلاعات دانشجو را نمایش دهد.
📌 نمونه خروجی:
Name: Ali
GPA: 17.8
Credits: 70
🎯 Bonus Challenge
متدی به نام:
get_status()
بنویسید که وضعیت دانشجو را برگرداند:
Graduated
In Progress
📋 هدف امروز:
آشنایی با OOP و ساخت مدل دادهای برای دانشجویان.
⏰ مهلت ارسال پاسخ:
فردا ساعت 20:00
🔥 چالش ۳۰ روزه Python for AI
#Day13
🎯 موضوع:
Searching & Filtering Data
⭐ سطح:
متوسط
⏳ زمان تخمینی:
25 تا 40 دقیقه
📝 صورت مسئله:
دیتاست زیر را در برنامه قرار دهید:
students = [
{"name": "Ali", "gpa": 17.8},
{"name": "Sara", "gpa": 18.5},
{"name": "Reza", "gpa": 15.2},
{"name": "Nima", "gpa": 18.1},
{"name": "Parsa", "gpa": 16.4},
{"name": "Arman", "gpa": 17.1},
{"name": "Mina", "gpa": 19.0}
]
برنامه باید:
✅ تمام دانشجویان دارای GPA بالاتر از 18 را نمایش دهد.
✅ تمام دانشجویان دارای GPA کمتر از 16 را نمایش دهد.
✅ تعداد دانشجویان هر گروه را محاسبه کند.
📌 نمونه خروجی:
Students With GPA >= 18:
Sara
Nima
Mina
Count: 3
🎯 Bonus Challenge
دانشجویی را پیدا کنید که GPA او به 18 نزدیکتر است.
📋 هدف امروز:
تمرین فیلتر کردن دادهها؛ یکی از مهمترین مهارتها در Data Analysis.
⏰ مهلت ارسال پاسخ:
فردا ساعت 20:00
🔥 چالش ۳۰ روزه Python for AI
#Day14
🎯 موضوع:
Mini Project — Student Data Analysis System
⭐ سطح:
متوسط
⏳ زمان تخمینی:
40 تا 60 دقیقه
📝 صورت مسئله:
امروز قرار است با استفاده از مطالب روزهای قبل، یک سیستم کوچک تحلیل اطلاعات دانشجویان بسازید.
فایل زیر را با نام:
students.csv
ایجاد کنید:
name,gpa,credits
Ali,17.8,70
Sara,18.5,95
Reza,15.2,40
Nima,18.1,120
Parsa,16.4,55
Arman,17.1,80
Mina,19.0,140
Ava,16.8,35
Yasmin,18.7,110
Amir,15.9,65
یک کلاس به نام:
Student
ایجاد کنید که شامل ویژگیهای زیر باشد:
✅ "name"
✅ "gpa"
✅ "credits"
و متدهای زیر را داشته باشد:
✅ "show_info()"
برای نمایش اطلاعات دانشجو
✅ "get_status()"
اگر تعداد واحدهای دانشجو حداقل 120 بود:
Graduated
و در غیر این صورت:
In Progress
برنامه باید:
✅ فایل CSV را بخواند.
✅ اطلاعات هر دانشجو را به یک شیء از کلاس "Student" تبدیل کند.
✅ تعداد کل دانشجویان را محاسبه کند.
✅ میانگین GPA را محاسبه کند.
✅ دانشجوی دارای بالاترین GPA را پیدا کند.
✅ دانشجویان دارای GPA برابر یا بیشتر از 18 را نمایش دهد.
✅ دانشجویان دارای GPA کمتر از 16 را نمایش دهد.
✅ نام یک دانشجو را از کاربر دریافت و اطلاعات او را جستوجو کند.
✅ اگر دانشجو پیدا نشد، پیام زیر را نمایش دهد:
Student not found!
✅ با استفاده از "try / except" خطاهای احتمالی خواندن فایل را مدیریت کند.
📌 نمونه خروجی:
===== Student Analysis System =====
Total Students: 10
Average GPA: 17.35
Top Student: Mina (19.0)
Students With GPA >= 18:
Sara
Nima
Mina
Yasmin
Count: 4
Students With GPA < 16:
Reza
Amir
Count: 2
Enter student name: Nima
Name: Nima
GPA: 18.1
Credits: 120
Status: Graduated
🎯 Bonus Challenge
یک منوی ساده طراحی کنید:
1. Show Summary
2. Search Student
3. Show Top Students
4. Show Graduated Students
5. Exit
برنامه باید تا زمانی که کاربر گزینه "5" را انتخاب نکرده است، متوقف نشود.
📋 هدف امروز:
ترکیب مهارتهای روزهای قبل و ساخت اولین سیستم کوچک تحلیل داده با Python.
شما تا اینجا یاد گرفتهاید:
✅ دادهها را از فایل بخوانید.
✅ دادهها را مدلسازی کنید.
✅ خطاها را مدیریت کنید.
✅ دادهها را جستوجو و فیلتر کنید.
✅ اطلاعات آماری استخراج کنید.
از روز بعد وارد NumPy میشویم تا همین محاسبات را سریعتر، کوتاهتر و حرفهایتر انجام دهیم.
⏰ مهلت ارسال پاسخ:
فردا ساعت 20:00