آموزش برنامه نویسی پایتون و AI
شرکت در مسابقات برنامهنویسی پایتون (یا هر مسابقهی الگوریتمی و کدنویسی) میتواند نقش بسیار مهمی در رشد مهارتهای فردی و حرفهای شما داشته باشد. اهمیت این مسابقات را میتوان از چند جنبه بررسی کرد:
۱. تقویت مهارتهای حل مسئله
مسابقات شما را مجبور میکنند مسائل پیچیده را در زمانی محدود حل کنید.
این تمرین مداوم باعث میشود ذهن شما ساختاریافتهتر، سریعتر و خلاقتر فکر کند.
۲. یادگیری عمیقتر پایتون
برای رقابت باید از قابلیتهای زبان پایتون، کتابخانهها و بهترین روشها (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 پایه و اساس کار با دادهها در پایتون است. فهم درست این مفهوم باعث میشود دادهها را به شکل انعطافپذیر مدیریت و برنامههای پایتون را به راحتی بنویسید.
مسابقه برنامهنویسی – تمرین شماره ۲
عنوان: دستهبندی و مرتبسازی اعداد زوج و فرد
سطح سختی: ★★☆☆☆ (مبتدی تا متوسط)
امتیاز: ۱۰ امتیاز
زمان پیشنهادی: ۱۵ دقیقه
صورت سوال
یک برنامه بنویسید که:
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]
بخش امتیاز
دریافت درست ورودیها ۲
دستهبندی صحیح زوج و فرد ۳
مرتبسازی صعودی ۳
چالش اختیاری (نزولی) ۲
هدایت شده از آموزش برنامه نویسی پایتون و AI
مسابقه برنامهنویسی – تمرین شماره ۲
عنوان: دستهبندی و مرتبسازی اعداد زوج و فرد
سطح سختی: ★★☆☆☆ (مبتدی تا متوسط)
امتیاز: ۱۰ امتیاز
زمان پیشنهادی: ۱۵ دقیقه
صورت سوال
یک برنامه بنویسید که:
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]
---
✅ این ۳۰ ترفند شامل:
عملیات روی لیست و رشته
توابع داخلی و کتابخانههای استاندارد
روشهای کوتاه و حرفهای
کاربرد برای مسابقه و حل سریع مسئله
هدایت شده از یاسر محمودیان
اطلاعیه برگزاری کلاس
📅 تاریخ: امروز، چهارشنبه ۵ آذرماه
👭 کلاس خواهران: ساعت ۱۴تا ۱۶
💻 موضوع: دوره مقدماتی آموزش برنامهنویسی پایتون
📢 اطلاعیه برگزاری کلاس
برنامهنویسی پایتون – سطح مقدماتی
به اطلاع علاقهمندان میرسد که کلاس پایتون مقدماتی برگزار میگردد.
⏰ زمان برگزاری:
کلاس خواهران:
ساعت ۹:۰۰ تا ۱۱:۳۰
کلاس برادران:
ساعت ۱۵:۰۰ تا ۱۷:۳۰
با توجه به اینکه این جلسه، آخرین کلاس دوره مقدماتی میباشد، حضور کلیه دوستان گرامی ضروری است.
لطفاً در ساعت مقرر در کلاس حاضر باشید.