آموزش برنامه‌نویسی پایتون و هوش مصنوعی
140 subscribers
358 photos
190 videos
41 files
172 links
🎯 یادگیری پایتون با رویکردی متفاوت
🚀 آموزش‌های کاملاً عملی و پروژه‌محور
💻 مسیر تبدیل شدن به یک برنامه‌نویس حرفه‌ای
🌟 فرقی نداره مبتدی هستی یا پیشرفته، از هر سطحی شروع کن و پایتون رو اصولی یاد بگیر
📩 ارتباط با ادمین: @YMahmoodian
09156519984
Download Telegram
🔔 اطلاعیه شماره 4⃣

🔖 تقویم اجرایی مراحل جشنواره:

رعایت زمان برگزاری مراحل ۴ گانه جشنواره مطابق تقویم اجرایی زیر الزامی است:🔻

⭕️ مرحله مدرسه‌ای - تا تا 30 بهمن ماه ۱۴۰۴
⭕️ مرحله منطقه‌ای - تا 30 فروردین ماه ۱۴۰۵
⭕️ مرحله استانی - تا 20 اردیبهشت ماه ۱۴۰۵
⭕️ مرحله کشوری - تابستان ۱۴۰۵

دبیرخانه کشوری جشنواره استعدادیابی نوجوان خوارزمی🌵
با سلام
لطفاً دو سه نفری که هنوز شهریه دوره را واریز نکرده‌اند، هرچه زودتر نسبت به پرداخت اقدام کرده و رسید واریز را ارسال فرمایند.
با تشکر
مدیریت برگزاری کلاس‌ها
تمرین شماره ۱: ساخت ماشین‌حساب چهارعملی

صورت سؤال:
برنامه‌ای بنویسید که نقش یک ماشین‌حساب ساده را انجام دهد. این ماشین‌حساب باید بتواند چهار عمل اصلی زیر را انجام دهد:

1. جمع


2. تفریق


3. ضرب


4. تقسیم



شرح وظایف برنامه:

برنامه از کاربر دو عدد دریافت کند.

سپس از کاربر بخواهد که نوع عملیات دلخواه خود ( + ، - ، * ، / ) را وارد کند.

برنامه بر اساس عمل انتخاب شده، نتیجه را محاسبه و نمایش دهد.

در صورتی که کاربر عملیات تقسیم را انتخاب کند، برنامه باید مراقب تقسیم بر صفر باشد و در صورت رخ دادن، پیام مناسب نمایش دهد.


خروجیِ نمونه:

عدد اول را وارد کنید: 12
عدد دوم را وارد کنید: 4
عملگر را وارد کنید (+ - * /): *
نتیجه: 48
🌐 مقایسه چاپ "Hello World" در زبان‌های برنامه‌نویسی مختلف

در آموزش برنامه‌نویسی، یکی از ساده‌ترین و معروف‌ترین تمرین‌ها، چاپ جمله‌ی "Hello World" است. این تمرین نشان می‌دهد که هر زبان برنامه‌نویسی چه میزان پیچیدگی دارد و برای شروع آموزش، چرا پایتون گزینه‌ای مناسب است.




۱. Python

print("Hello, World!")

تنها با یک خط کد
بدون نیاز به کلاس، تابع یا کتابخانه اضافی
خوانا و ساده برای مبتدیان




۲. C

#include <stdio.h>

int main() {
printf("Hello, World!");
return 0;
}

نیازمند کتابخانه استاندارد
باید تابع main تعریف شود
چند خط اضافی برای اجرای ساده




۳. Java

public class Main {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}

نیازمند تعریف کلاس و تابع اصلی
دستورات طولانی و پیچیده‌تر از پایتون




۴. JavaScript

console.log("Hello, World!");

نسبتا ساده
نیاز به محیط اجرا (مرورگر یا Node.js)




۵. C#

using System;

class Program {
static void Main() {
Console.WriteLine("Hello, World!");
}
}

مشابه جاوا: کلاس و تابع اصلی لازم است
دستورات طولانی




۶. PHP

<?php
echo "Hello, World!";
?>

ساده‌تر از جاوا و C
نیاز به تگ باز و بسته PHP




نتیجه‌گیری:
پایتون با سینتکس ساده و قابل فهم، بهترین گزینه برای شروع برنامه‌نویسی است. دانش‌آموزان سریع‌تر می‌توانند نتیجه بگیرند و انگیزه بیشتری برای یادگیری مفاهیم پایه پیدا کنند.
آموزش برنامه‌نویسی پایتون و هوش مصنوعی
Photo
شرکت در مسابقات برنامه‌نویسی پایتون (یا هر مسابقه‌ی الگوریتمی و کدنویسی) می‌تواند نقش بسیار مهمی در رشد مهارت‌های فردی و حرفه‌ای شما داشته باشد. اهمیت این مسابقات را می‌توان از چند جنبه بررسی کرد:

۱. تقویت مهارت‌های حل مسئله

مسابقات شما را مجبور می‌کنند مسائل پیچیده را در زمانی محدود حل کنید.

این تمرین مداوم باعث می‌شود ذهن شما ساختاریافته‌تر، سریع‌تر و خلاق‌تر فکر کند.


۲. یادگیری عمیق‌تر پایتون

برای رقابت باید از قابلیت‌های زبان پایتون، کتابخانه‌ها و بهترین روش‌ها (best practices) به درستی استفاده کنید.

در این مسیر به سینتکس، الگوریتم‌ها و ترفندهای کاربردی مسلط‌تر می‌شوید.


۳. افزایش سرعت و دقت

محدودیت زمانی مسابقات کمک می‌کند که مهارت شما در نوشتن کد کارا، تمیز و سریع به‌طور چشمگیری افزایش یابد.


۴. شناخت الگوریتم‌ها و ساختار داده‌ها

بسیاری از چالش‌ها بر پایه‌ی الگوریتم‌ها و ساختمان داده‌ها هستند.

این موضوع باعث می‌شود دانش نظری و عملی شما در این حوزه‌ها عمیق‌تر شود.


۵. فرصت‌های شغلی بهتر

شرکت‌ها (به‌ویژه حوزه‌های تکنولوژی) به مهارت در حل مسئله و الگوریتم‌نویسی اهمیت زیادی می‌دهند.

شرکت در مسابقات و کسب رتبه می‌تواند رزومه شما را تقویت کند و حتی باعث جذب مستقیم در برخی شرکت‌ها شود.


۶. افزایش اعتمادبه‌نفس

حل چالش‌ها و مشاهده‌ی پیشرفت، باعث افزایش اعتمادبه‌نفس و انگیزه می‌شود.


۷. ارتباط با جامعه‌ی برنامه‌نویسان

با شرکت در مسابقات آنلاین یا حضوری، با افراد علاقه‌مند دیگر آشنا می‌شوید.

این ارتباطات می‌تواند به یادگیری، همکاری و حتی فرصت‌های شغلی منجر شود.


۸. آمادگی برای مصاحبه‌های فنی

بسیاری از سوالات مصاحبه‌های فنی شبیه چالش‌های مسابقات هستند.

تمرین این مسائل بهترین آمادگی برای ورود به بازار کار است.


#برنامه‌نویسی #پایتون #کدنویسی #هوش_مصنوعی #یادگیری_ماشین #یادگیری_عمیق
#شبکه_های_عصبی #الگوریتم #آموزش #آموزش_پایتون #آموزش_هوش_مصنوعی
#تدریس_پایتون #تدریس_هوش_مصنوعی #مدرس_پایتون #مدرس_هوش_مصنوعی
#کلاس_پایتون #کلاس_هوش_مصنوعی #پایتون_کاربردی #هوش_مصنوعی_کاربردی
#طراحی #بازی‌سازی #چالش_برنامه_نویسی #تمرین_برنامه‌نویسی #ایده #ایده‌های_خلاقانه
#خلاقیت #مسابقات_برنامه_نویسی #جشنواره #افتخارآفرینی #برتر #نخبه
#دانش‌آموزان #دانشجویان #علاقمندان #مهارت_آموزی #ارتقای_مهارت
#محمودیان #درگز #مشهد #پروژه_پایتون #پروژه_هوش_مصنوعی
#آموزشگاه_مجازی #دوره_آنلاین #از_مبتدی_تا_پیشرفته #کدنویسی_خلاقانه
#Python #Coding #Programming #PythonDeveloper
#MachineLearning #DeepLearning #AI #ArtificialIntelligence
#NeuralNetworks #PythonCoding #CodeLife #TechSkills
#AIDeveloper #DataScience #LearnPython
نفرات دوره ویژه «پایتون کاربردی – مدیریت و پردازش فایل‌ها» ثبت‌نام کرده‌اند.
لطفاً برای تکمیل ثبت‌نام اولیه، مشخصات زیر را به‌صورت کامل ارسال کنید:

نام و نام خانوادگی

تاریخ تولد کامل (روز / ماه / سال)

کد ملی





لیست نفرات ثبت‌نامی

آقایان:

۱. محمدحسین محسن‌آبادی
۲. طاها برید کاظمی
خانم‌ها:

(—)




لیست در حال بروزرسانی…
سلام. امروز کلاس برگزار نمی‌شود. هرگونه اطلاع دربارهٔ برگزاری کلاس‌ها در کانال درج خواهد شد.
Assignment (اختصاص مقدار) در پایتون

تعریف

Assignment یا اختصاص دادن مقدار به متغیر، عملی پایه‌ای در پایتون است که با استفاده از عملگر = انجام می‌شود. این کار باعث می‌شود نتیجه یک عبارت یا یک مقدار مشخص به یک متغیر نسبت داده شود.

پایتون دینامیک تایپ است؛ یعنی لازم نیست نوع متغیر را قبل از استفاده مشخص کنید. نوع متغیر هنگام اختصاص مقدار توسط پایتون تعیین می‌شود.




مثال‌ها

1. اختصاص عدد صحیح به متغیر



x = 10
print(x)

خروجی:

10




2. اختصاص رشته به همان متغیر



x = "Hello, Python!"
print(x)

خروجی:

Hello, Python!

> توجه: همان متغیر x می‌تواند در زمان‌های مختلف انواع داده متفاوت داشته باشد.





3. اختصاص نتیجه یک عبارت به متغیر



y = x + " How are you?"
print(y)

خروجی:

Hello, Python! How are you?




4. اختصاص مقادیر مختلف به چند متغیر همزمان



a, b, c = 1, 2, 3
print(a, b, c)

خروجی:

1 2 3




5. تغییر مقدار یک متغیر با استفاده از خودش



count = 5
count = count + 1
print(count)

خروجی:

6




نکات کلیدی

عملگر = assignment operator نام دارد.

متغیرها در پایتون می‌توانند نوع‌های مختلف داشته باشند و لازم نیست قبل از استفاده نوعشان را مشخص کنید.

می‌توانید چند متغیر را همزمان مقداردهی کنید.

می‌توان مقدار متغیر را بر اساس خودش تغییر داد.





جمع‌بندی

Assignment پایه و اساس کار با داده‌ها در پایتون است. فهم درست این مفهوم باعث می‌شود داده‌ها را به شکل انعطاف‌پذیر مدیریت و برنامه‌های پایتون را به راحتی بنویسید.
تشکر ویژه🌹
از دانش‌آموز عزیز عدنان وطن‌خواه بابت ارسال جواب تمرین به صورت ویدئو صمیمانه تشکر می‌کنیم.❤️
توضیحات ایشان بسیار زیبا و قابل فهم بود و تلاششان شایسته تقدیر است. 🌟
2
مسابقه برنامه‌نویسی – تمرین شماره ۲

عنوان: دسته‌بندی و مرتب‌سازی اعداد زوج و فرد

سطح سختی: ★★☆☆☆ (مبتدی تا متوسط)
امتیاز: ۱۰ امتیاز
زمان پیشنهادی: ۱۵ دقیقه


صورت سوال

یک برنامه بنویسید که:

1. تعداد N عدد صحیح را از کاربر دریافت کند. (در حالت پایه، N=۵)


2. اعداد را به دو دسته تقسیم کند: زوج و فرد.


3. هر دو دسته را به صورت صعودی مرتب کند.


4. هر دو لیست را با قالب مشخص نمایش دهد.





ورودی

اولین خط: عدد صحیح N که نشان‌دهنده تعداد اعداد است.

خطوط بعدی: N عدد صحیح، هر کدام در یک خط.


محدودیت‌ها:

1 ≤ N ≤ 100

اعداد صحیح می‌توانند منفی، صفر یا مثبت باشند.





خروجی

یک خط برای اعداد زوج با عنوان Even numbers (ascending):

یک خط برای اعداد فرد با عنوان Odd numbers (ascending):





نمونه ورودی و خروجی

ورودی نمونه:

5
7
2
9
4
5

خروجی نمونه:

Even numbers (ascending): [2, 4]
Odd numbers (ascending): [5, 7, 9]




چالش اختیاری (Bonus)

1. برنامه را طوری طراحی کنید که تعداد اعداد توسط کاربر قابل تعیین باشد و نه فقط ۵ عدد.


2. علاوه بر صعودی، لیست‌ها را نزولی هم نمایش دهید.



خروجی نمونه با چالش:

Even numbers (ascending): [2, 4]
Odd numbers (ascending): [5, 7, 9]

Even numbers (descending): [4, 2]
Odd numbers (descending): [9, 7, 5]


بخش امتیاز

دریافت درست ورودی‌ها ۲
دسته‌بندی صحیح زوج و فرد ۳
مرتب‌سازی صعودی ۳
چالش اختیاری (نزولی) ۲
سوال شماره ۳ – مسابقه برنامه‌نویسی

عنوان: تقسیم آب به ۵ لوله (Water Distribution)

سطح سختی: ★★★★★ (سخت)
امتیاز: ۱۵ امتیاز
زمان پیشنهادی: ۲۰–۳۰ دقیقه



صورت سوال

یک برنامه بنویسید که:

1. یک عدد صحیح مثبت X را از کاربر دریافت کند که نشان‌دهنده حجم یک لوله بزرگ است.


2. برنامه باید این حجم را به ۵ قسمت تقسیم کند به گونه‌ای که مجموع ۵ قسمت برابر با X باشد.


3. هر قسمت باید عدد صحیح باشد و تقسیم تا حد امکان عادلانه و نزدیک به هم باشد.


4. برنامه باید ۵ عدد تقسیم شده را در یک لیست یا خروجی جداگانه نمایش دهد.


5. برنامه باید برای هر ورودی صحیح مثبت کار کند.



> ⚠️ نکته چالش: تقسیم دقیق اعداد صحیح ممکن است به باقی‌مانده (remainder) نیاز داشته باشد تا مجموع دقیق X حفظ شود.






ورودی

یک عدد صحیح مثبت X که حجم لوله بزرگ را نشان می‌دهد.


محدودیت‌ها:

1 ≤ X ≤ 10^6





خروجی

۵ عدد صحیح مثبت که مجموعشان برابر X باشد.

اعداد باید تقریباً برابر و متعادل باشند (اختلاف بین بزرگ‌ترین و کوچک‌ترین عدد ≤ 1).




نمونه ورودی و خروجی

ورودی نمونه:

23

خروجی نمونه (یکی از پاسخ‌های ممکن):

[5, 5, 5, 4, 4]

ورودی نمونه:

10

خروجی نمونه:

[2, 2, 2, 2, 2]

ورودی نمونه:

7

خروجی نمونه:

[2, 2, 1, 1, 1]

> نکته: ترتیب اعداد در خروجی مهم نیست، اما مجموع باید دقیقاً برابر با X باشد و اختلاف بین بزرگ‌ترین و کوچک‌ترین عدد ≤ 1 باشد.





چالش اختیاری (Bonus)

برنامه را طوری طراحی کنید که تعداد بخش‌ها قابل تغییر باشد، نه فقط ۵.

برنامه بتواند ورودی‌های خیلی بزرگ (تا 10^9) را نیز بهینه و سریع تقسیم کند.





امتیازدهی پیشنهادی

بخش امتیاز

تقسیم صحیح اعداد ۵
حفظ مجموع برابر X ۵
تقریباً مساوی بودن بخش‌ها ۵
۳۰ ترفند عجیب و جادویی پایتون

۱. چند مقدار را همزمان به چند متغیر اختصاص دهید

a, b, c = 1, 2, 3
print(a, b, c) # خروجی: 1 2 3


---

۲. تعویض مقادیر بدون متغیر موقت

x, y = 5, 10
x, y = y, x
print(x, y) # خروجی: 10 5


---

۳. لیست کامپرهنشن با شرط

nums = [i**2 for i in range(10) if i % 2 == 0]
print(nums) # خروجی: [0, 4, 16, 36, 64]


---

۴. رشته‌ها مثل لیست رفتار می‌کنند

s = "Python"
print(s[::-1]) # خروجی: "nohtyP"


---

۵. استفاده از _ در REPL

>>> 10 + 5
15
>>> _ * 2
30


---

۶. چند دستور در یک خط

a = 5; b = 10; print(a+b) # خروجی: 15


---

۷. else بعد از حلقه

for i in range(3):
print(i)
else:
print("حلقه تمام شد")


---

۸. لیست‌ها و رشته‌ها با + و *

print([1,2]*2) # [1, 2, 1, 2]
print("Hi "*3) # "Hi Hi Hi "


---

۹. تابع zip برای ترکیب لیست‌ها

a = [1,2,3]; b = ['a','b','c']
print(list(zip(a,b))) # [(1,'a'), (2,'b'), (3,'c')]


---

۱۰. لیست از رشته‌ها با split

s = "Python is fun"
words = s.split()
print(words) # ['Python', 'is', 'fun']


---

۱۱. معکوس کردن لیست با [::-1]

lst = [1,2,3,4]
print(lst[::-1]) # [4,3,2,1]


---

۱۲. حذف عناصر با del

lst = [1,2,3]
del lst[1]
print(lst) # [1,3]


---

۱۳. مقایسه چند مقدار همزمان

x = 5
if 0 < x < 10:
print("بین ۰ و ۱۰ است")


---

۱۴. استفاده از enumerate

lst = ['a','b','c']
for i, v in enumerate(lst):
print(i, v)


---

۱۵. چاپ چند خط با یک دستور

print("""سلام
دنیا
پایتون""")


---

۱۶. چک کردن نوع داده

x = 5
print(type(x)) # <class 'int'>


---

۱۷. تبدیل لیست به رشته با join

words = ['Python','Rocks']
print(' '.join(words)) # "Python Rocks"


---

۱۸. استفاده از any و all

nums = [0,1,2]
print(any(nums)) # True
print(all(nums)) # False


---

۱۹. لیست چند بعدی

matrix = [[1,2],[3,4]]
print(matrix[1][0]) # 3


---

۲۰. set برای حذف تکراری‌ها

nums = [1,2,2,3,3]
print(list(set(nums))) # [1,2,3]


---

۲۱. تبدیل رشته به عدد با int و float

s = "123.45"
print(int(float(s))) # 123


---

۲۲. تابع sorted بدون تغییر لیست اصلی

lst = [3,1,2]
print(sorted(lst)) # [1,2,3]
print(lst) # [3,1,2]


---

۲۳. شرط داخل لیست کامپرهنشن

nums = [i if i%2==0 else 0 for i in range(5)]
print(nums) # [0,0,2,0,4]


---

۲۴. استفاده از * برای unpack کردن لیست

a, *b, c = [1,2,3,4]
print(a,b,c) # 1 [2,3] 4


---

۲۵. مقایسه رشته‌ها بدون توجه به حروف بزرگ و کوچک

s1 = "Python"; s2 = "python"
print(s1.lower() == s2.lower()) # True


---

۲۶. استفاده از Counter برای شمارش عناصر

from collections import Counter
nums = [1,2,2,3,3,3]
print(Counter(nums)) # Counter({3:3, 2:2, 1:1})


---

۲۷. تبدیل لیست به دیکشنری با zip

keys = ['a','b']; values = [1,2]
d = dict(zip(keys, values))
print(d) # {'a':1, 'b':2}


---

۲۸. چند شرط در یک خط

x = 5
print("بین ۰ و ۱۰" if 0<x<10 else "خارج از محدوده")


---

۲۹. استفاده از defaultdict

from collections import defaultdict
d = defaultdict(int)
d['a'] += 1
print(d['a'], d['b']) # 1 0


---

۳۰. تابع map برای اعمال عملیات روی لیست

nums = [1,2,3]
squared = list(map(lambda x: x**2, nums))
print(squared) # [1,4,9]


---

این ۳۰ ترفند شامل:

عملیات روی لیست و رشته

توابع داخلی و کتابخانه‌های استاندارد

روش‌های کوتاه و حرفه‌ای

کاربرد برای مسابقه و حل سریع مسئله
اطلاعیه برگزاری کلاس

📅 تاریخ: امروز، چهارشنبه ۵ آذرماه
👭 کلاس خواهران: ساعت ۱۴تا ۱۶
💻 موضوع: دوره مقدماتی آموزش برنامه‌نویسی پایتون
📢 اطلاعیه برگزاری کلاس

برنامه‌نویسی پایتون – سطح مقدماتی

به اطلاع علاقه‌مندان می‌رسد که کلاس پایتون مقدماتی برگزار می‌گردد.

زمان برگزاری:

کلاس خواهران:
ساعت ۹:۰۰ تا ۱۱:۳۰

کلاس برادران:
ساعت ۱۵:۰۰ تا ۱۷:۳۰

با توجه به اینکه این جلسه، آخرین کلاس دوره مقدماتی می‌باشد، حضور کلیه دوستان گرامی ضروری است.
لطفاً در ساعت مقرر در کلاس حاضر باشید.
امروز کلاس برنامه‌نویسی پایتون – ویژه خواهران برگزار شد.
بدین‌وسیله از همراهی و تلاش‌های ارزنده دوستان فعال در کلاس، سرکار خانم نفری فاروجی و سرکار خانم شجاع صمیمانه تقدیر و تشکر می‌شود.

امیدواریم همواره در مسیر یادگیری و موفقیت‌های آینده، پویا، پرتلاش و سربلند باشید.
👍1🙏1
📢 اطلاعیه آموزشی

به اطلاع عزیزان شرکت‌کننده در دوره برنامه‌نویسی پایتون می‌رسد که فردا اولین مدل یادگیری ماشین (Machine Learning) با استفاده از یک مثال کاملاً کاربردی و مؤثر در کلاس رونمایی و بررسی خواهد شد.

در این جلسه، یک نمونه واقعی شامل بارگذاری مدل، آموزش، ذخیره‌سازی و انجام پیش‌بینی با استفاده از کتابخانه‌های pickle، NumPy و Scikit-Learn ارائه خواهد شد تا هنرجویان با روند ساخت یک مدل ساده یادگیری ماشین به‌صورت عملی آشنا شوند.

حضور به‌موقع و فعال شما موجب بهره‌برداری بهتر از مباحث عملی این جلسه خواهد بود.
2
هم اکنون کلاس برنامه‌نویسی پایتون مقدماتی