🔥 چالش ۳۰ روزه Python for AI
#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 را انجام دهید.
❓ اگر به راهنمایی نیاز داشتید:
https://eitaa.com/joinchat/956171922Cb501d5a32f
⏰ مهلت ارسال پاسخ:
فردا ساعت 20:00
🔺 امروز داریم اولین قدمهای واقعی در دستهبندی دادهها (Classification Logic) را تمرین میکنیم؛ مفهومی که بعدها در Machine Learning بسیار مهم خواهد بود.
آموزش پایتون
🔥 چالش ۳۰ روزه Python for AI #Day2 🎯 موضوع: Conditional Statements (if / elif / else) ⭐ سطح: مبتد
✅ پاسخ چالش 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: ").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 دقیقه
📝 صورت مسئله:
در سیستمهای تحلیلی معمولاً لازم است همه دادهها را بررسی کنیم.
دیتاست زیر را در برنامه قرار دهید:
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
یکی از راهحلهای ممکن:👇
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)
🔥 چالش ۳۰ روزه 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
دارند را نمایش دهد.
📌 نمونه خروجی:
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 #Day4 🎯 موضوع: Functions ⭐️ سطح: متوسط ⏳ زمان تخمینی: 20 تا 35 دقیق
✅ پاسخ چالش Day 4
یکی از راهحلهای ممکن:
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
🔥 چالش ۳۰ روزه Python for AI
#Day5
🎯 موضوع:
Lists & Basic Statistics
⭐ سطح:
متوسط
⏳ زمان تخمینی:
20 تا 30 دقیقه
📝 صورت مسئله:
فرض کنید نمرات یک دانشجو در طول ترم به صورت زیر ذخیره شده است:
scores = [18, 15, 20, 17, 19, 14, 16]
برنامهای بنویسید که:
✅ میانگین نمرات را محاسبه کند.
✅ بیشترین نمره را پیدا کند.
✅ کمترین نمره را پیدا کند.
✅ تعداد نمرات بالاتر از میانگین را محاسبه کند.
📌 نمونه خروجی:
Average Score: 17.0
Highest Score: 20
Lowest Score: 14
Scores Above Average: 3
🎯 Bonus Challenge
نمرات را به صورت نزولی (Descending) نمایش دهید.
📋 هدف امروز:
آشنایی با List و انجام تحلیلهای آماری ساده روی دادهها.
⏰ مهلت ارسال پاسخ:
فردا ساعت 20:00
✅ پاسخ چالش Day 5
💡 نکته مهم:
در تحلیل دادهها همیشه اول یک “baseline statistics” مثل میانگین، بیشینه و کمینه محاسبه میشود، چون پایه بسیاری از الگوریتمهای Machine Learning همین مفاهیم ساده هستند.
🎁و Bonus انجام شد:
لیست نمرات به صورت نزولی با "sorted(scores, reverse=True)" مرتب شد.
@learnpythonicy
614.5K حجم رسانه بالاست
مشاهده در ایتا
🔥 چالش ۳۰ روزه Python for AI
#Day6
🎯 موضوع:
Dictionary + Data Analysis
⏰ مهلت ارسال پاسخ:
فردا ساعت 20:00
گروه:
https://eitaa.com/joinchat/956171922Cb501d5a32f
@learnpythonicy
610.1K حجم رسانه بالاست
مشاهده در ایتا
بامزهترین قفل صفحه برای معتادای وب گردی!
👨🏻💻 یه نابغه اومده یه اکستنشن برای مرورگر ساخته که وقتی زیاد پشت سیستم کار میکنی، یهو یه گربه نارنجی گنده میاد کل مانیتورت رو میگیره و نمیذاره کار کنی تا بری استراحت کنی! 🐈
❤️ افزونه Cat Gatekeeper اومده تا با یه گربهی گنده، مانیتورت رو تسخیر کنه! یعنی رسماً مانیتور قفل میشه و هیچ کاری نمیتونید بکنید جز اینکه دست از کار بکشید، از پشت میز بلند بشید و یه استراحتی به چشماتون بدید.
✍🏼 Shahin