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

با استقبال پرشور همشهریان عزیز، ثبت‌نام دوره جدید پایتون آغاز شد!
اگر به دنیای برنامه‌نویسی و هوش مصنوعی علاقه‌مندید، این فرصت ویژه را از دست ندهید.

🐍 چرا پایتون؟

ساده، خوانا و قدرتمند برای انواع پروژه‌ها

پایه اصلی هوش مصنوعی، یادگیری ماشین و علم داده

کاربرد در توسعه وب، اتوماسیون، رباتیک و پژوهش‌های علمی


🎯 مزایای یادگیری پایتون:

سرمایه‌گذاری بلندمدت روی آینده شغلی و علمی

دروازه ورود به دنیای فناوری‌های نوین


👨‍🏫 مدرس دوره: یاسر محمودیان – کارشناس ارشد کامپیوتر مدرس برنامه‌نویسی و هوش مصنوعی

🎓 مخاطبان: دانش‌آموزان، دانشجویان و علاقه‌مندان به برنامه‌نویسی (بدون نیاز به پیش‌زمینه)

📅 زمان‌بندی: کلاس‌ها تا قبل از آغاز سال تحصیلی (اول مهر)

📌 ثبت‌نام و اطلاعات بیشتر:

تلگرام و روبیکا: @PyPlus_Admin

ایتا: @learns_py

اینستاگرام: instagram.com/learns.py


ظرفیت محدود، شروع کلاس‌ها از پایان همین هفته

#خراسان‌_رضوی
#درگز
#کانون_فرهنگی_ورزشی_شهید_صیاد_شیرازی_بسیج_درگز
https://eitaa.com/saiad_shiirazi
Media is too big
VIEW IN TELEGRAM
📚 آموزش جامع مجموعه‌ها (Set) در پایتون!

مجموعه چیست؟
یک مجموعه، دسته‌ای از عناصر یکتا است که ترتیب در آن مهم نیست و هر عنصر فقط یک بار ظاهر می‌شود.

در این ویدیو با متدهای Set آشنا می‌شویم:
ایجاد و کپی مجموعه‌ها
اضافه و حذف عناصر
تغییر مقادیر
انجام عملیات ریاضی مثل اشتراک، اجتماع و تفاوت

یکبار ببینید و مهارت خود در کار با مجموعه‌ها را چند برابر کنید! 💡
فرا رسیدن سالروز شهادت امام رضا (ع)، آقای درد و دل‌های محرمانه، خدمت شما همراهان عزیز کانال برنامه‌نویسی پایتون تسلیت عرض می‌کنیم.

خوشا مشهد و شاه بی‌مثالش
خوشا آن صاحب، صاحب کمالش
خوشا صحن پر از جاه و جلالش
خوشا هر کس که روزی شد وصالش

شهادت امام رضا (ع) تسلیت باد.
🚀 دوره جدید مقدماتی برنامه‌نویسی پایتون

با استقبال پرشور همشهریان عزیز، ثبت‌نام دوره جدید پایتون آغاز شد!
اگر به دنیای برنامه‌نویسی و هوش مصنوعی علاقه‌مندید، این فرصت ویژه را از دست ندهید.

🐍 چرا پایتون؟

ساده، خوانا و قدرتمند برای انواع پروژه‌ها

زبان پایه در هوش مصنوعی، یادگیری ماشین و علم داده

کاربردی در توسعه وب، اتوماسیون، رباتیک و پژوهش‌های علمی


🎯 مزایای یادگیری پایتون:

سرمایه‌گذاری بلندمدت روی آینده شغلی و علمی

دروازه ورود به دنیای فناوری‌های نوین


👨‍🏫 مدرس دوره:
یاسر محمودیان – کارشناس ارشد کامپیوتر
مدرس برنامه‌نویسی و هوش مصنوعی
مربی کانون فرهنگی ورزشی شهید صیاد شیرازی بسیج درگز
🎓 مخاطبان: دانش‌آموزان، دانشجویان و علاقه‌مندان (بدون نیاز به پیش‌زمینه)



📍 محل برگزاری دوره:
کانون فرهنگی ورزشی شهید صیاد شیرازی – بسیج درگز

ثبت‌نام و اطلاعات بیشتر:
تلگرام و روبیکا: @PyPlus_Admin
ایتا: @learns_py
اینستاگرام: instagram.com/learns.py


📞 تماس جهت ثبت‌نام یا تحویل مدارک:
۰۹۳۷۰۱۲۲۶۹۱ – آقای ایمان کفاشان (مدیر کانون شهید صیاد شیرازی بسیج درگز)
❤️
«۷ مفهوم کلیدی پایتون که هر برنامه‌نویسی باید بلد باشد». اینم توضیح جمع‌وجور ولی کاربردی هر کدوم—با نکته‌های مهم و چند تکه‌کد:

1. متغیرها و انواع داده



پایتون «داینامیک‌تایپ» است: نوعِ متغیر از روی مقدار مشخص می‌شود.

قابل‌تغییرها: list, dict, set — غیرقابل‌تغییرها: int, float, bool, str, tuple.


x = 3 # int
x = float(x) # 3.0
type(x) # <class 'float'>

2. دستورهای شرطی



if / elif / else + عملگرهای مقایسه (==, !=, <, …) و منطقی (and, or, not).

حواست به truthy/falsy باشد: [], "", 0, None همگی False محسوب می‌شوند.


if name and age >= 18:
print("Adult")
elif age is None:
print("Unknown")
else:
print("Minor")

3. حلقه‌ها (for و while)



for روی هر «قابل‌تکرار» کار می‌کند؛ enumerate برای گرفتن اندیس.

break/continue و حواست به حلقه‌های بی‌پایان while.

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


for i, fruit in enumerate(["apple","banana"]):
print(i, fruit)

# list comprehension
squares = [n*n for n in range(5)] # [0,1,4,9,16]

4. تابع‌ها



پارامترها: موقعیتی، کلیدواژه‌ای، پیش‌فرض، *args و **kwargs.

محدوده‌ٔ دید (LEGB) و بازگشت مقدار؛ بهتره تایپ‌هینت و داک‌استرینگ بنویسی.


def greet(name: str = "World") -> str:
"""Return a friendly greeting."""
return f"Hello, {name}"

5. لیست‌ها و دیکشنری‌ها



لیست: append, pop, sort, slicing.

دیکشنری: get، items، comprehension؛ برای کلیدها از مقادیر هش‌پذیر استفاده کن.


fruits = ["apple","banana","cherry"]
person = {"name":"Alice","age":25}
person.get("job", "N/A") # 'N/A'
ages = {name: len(name) for name in ["Ali","Sara"]} # {'Ali':3,'Sara':4}

6. مدیریت استثنا



همیشه «خاص» بگیر نه Exception کلی؛ از else و finally هم می‌شود بهره برد.


try:
result = 10 / x
except ZeroDivisionError:
result = None
else:
print("OK")
finally:
print("done")

7. کار با فایل



با with خیالت از بستن فایل راحته؛ حالت‌ها: "r","w","a","b", و encoding.

برای مسیرها از pathlib و برای ساختارها از json استفاده کن.


from pathlib import Path
import json

data = {"name":"Alice","age":25}
Path("data.json").write_text(json.dumps(data, ensure_ascii=False), encoding="utf-8")
text = Path("notes.txt").read_text(encoding="utf-8")

نکات طلایی کوتاه:

از f-string برای فرمت متن استفاده کن.

از venv برای جداسازی محیط پروژه‌ها.

کد تمیز = اسم‌گذاری خوب + تابع‌های کوچک + تست‌های ساده (pytest).
🔑 ۷ مفهوم مهم پایتون (نسخه ساده با نکات کامل)

1) متغیر و نوع داده

متغیر = جعبه‌ای که چیزی توش می‌ذاریم.

پایتون خودش نوع داده رو تشخیص می‌ده.

نوع داده‌ها: عدد صحیح (int)، اعشاری (float)، متن (str)، درست/غلط (bool)، لیست (list)، مجموعه (set)، دیکشنری (dict)، تاپل (tuple).


x = 5 # عدد صحیح
y = 3.14 # اعشاری
name = "Ali" # متن
ok = True # درست/غلط


---

2) شرط‌ها (if, elif, else)

برای تصمیم‌گیری استفاده می‌شه.

عملگرها: == برابر، != نابرابر، < کوچکتر، > بزرگتر.

مقدارهای خالی مثل "", 0, [] یعنی «غلط».


if x > 10:
print("بزرگتر از ۱۰")
elif x == 10:
print("برابر ۱۰")
else:
print("کوچکتر از ۱۰")


---

3) حلقه‌ها (for, while)

for برای تکرار روی لیست یا بازه.

while تا وقتی شرط برقرار باشه ادامه می‌ده.

کلیدواژه‌ها: break (شکستن حلقه)، continue (رفتن به دور بعدی).


for fruit in ["سیب", "موز", "گیلاس"]:
print(fruit)

i = 0
while i < 3:
print("i:", i)
i += 1


---

4) تابع‌ها (def)

تابع = دستورهای آماده که خودمون می‌سازیم.

می‌تونه ورودی بگیره و خروجی بده.

ورودی‌ها می‌تونن اختیاری باشن.


def greet(name="دوست"):
return f"سلام {name}"

print(greet()) # سلام دوست
print(greet("علی")) # سلام علی


---

5) لیست و دیکشنری

لیست: مجموعه‌ای از چیزها پشت سر هم.

دیکشنری: اطلاعات با «کلید» و «مقدار».

هر دو خیلی پرکاربرد هستن.


fruits = ["سیب", "موز", "گیلاس"]
print(fruits[0]) # سیب

person = {"name": "Ali", "age": 15}
print(person["name"]) # Ali


---

6) مدیریت خطا (try, except)

برنامه همیشه ممکنه خطا بده (مثلاً تقسیم بر صفر).

با try/except جلوی کرش‌کردن برنامه رو می‌گیریم.

می‌تونیم finally هم بذاریم که همیشه اجرا بشه.


try:
result = 10 / 0
except ZeroDivisionError:
print("نمی‌شه تقسیم بر صفر کرد!")
finally:
print("برنامه ادامه دارد...")


---

7) کار با فایل‌ها

می‌تونیم از فایل بخونیم یا داخلش بنویسیم.

with باعث می‌شه فایل خودش بسته بشه.

حالت‌ها: "r" (خواندن)، "w" (نوشتن)، "a" (اضافه کردن).


with open("info.txt", "w", encoding="utf-8") as f:
f.write("سلام دنیا!")

with open("info.txt", "r", encoding="utf-8") as f:
print(f.read())
تحقیق کامل درباره Dynamic Typing در پایتون

1. مقدمه

زبان‌های برنامه‌نویسی بر اساس نحوه‌ی مدیریت نوع داده‌ها (Type System) به دو دسته کلی تقسیم می‌شوند:

Static Typing (ایستا)

Dynamic Typing (پویا)


پایتون یک زبان Dynamic Typed است. یعنی نوع متغیرها در زمان اجرای برنامه (Runtime) تعیین می‌شود، نه در زمان کامپایل (Compile-time). این ویژگی باعث انعطاف‌پذیری بالای پایتون می‌شود اما در عین حال چالش‌هایی هم به همراه دارد.


---

2. تعریف Dynamic Typing

در زبان‌های داینامیک تایپ مثل پایتون:

هنگام تعریف یک متغیر، نیازی به مشخص کردن نوع آن نیست.

نوع متغیر بر اساس مقداری که در آن قرار می‌گیرد به صورت خودکار تعیین می‌شود.

یک متغیر می‌تواند در طول اجرای برنامه چندین بار نوعش تغییر کند.


مثال:

x = 10 # x یک int است
print(type(x))

x = "hello" # حالا x یک str شده
print(type(x))

x = [1, 2, 3] # و حالا x یک list است
print(type(x))


---

3. مقایسه با Static Typing

در زبان‌های Static Typed مثل Java یا C++، شما باید نوع متغیر را از ابتدا مشخص کنید و بعداً نمی‌توانید آن را تغییر دهید.

مثال در جاوا:

int x = 10;
x = "hello"; // خطا: نمی‌توان رشته را به int نسبت داد

در پایتون، چنین محدودیتی وجود ندارد.


---

4. مزایای Dynamic Typing در پایتون

انعطاف‌پذیری بالا: به راحتی می‌توان متغیرها را تغییر داد.
کدنویسی سریع‌تر: نیازی به تعریف نوع متغیرها نیست.
سادگی برای مبتدیان: درک راحت‌تر بدون درگیری با سیستم تایپ پیچیده.
پشتیبانی از کدهای جنریک (عمومی): توابع و کلاس‌ها می‌توانند روی انواع مختلف داده کار کنند.

مثال:

def add(a, b):
return a + b

print(add(5, 10)) # جمع دو عدد
print(add("hi ", "py")) # الحاق دو رشته


---

5. معایب Dynamic Typing

بروز خطا در زمان اجرا: چون نوع متغیرها در زمان اجرا تعیین می‌شود، ممکن است خطاهای تایپی دیرتر آشکار شوند.
کاهش کارایی: بررسی نوع متغیرها در زمان اجرا سرعت کمتری نسبت به زبان‌های ایستا دارد.
کدهای بزرگ سخت‌تر مدیریت می‌شوند: چون نوع متغیر مشخص نیست، ردیابی باگ‌ها سخت‌تر است.

مثال خطا:

def divide(a, b):
return a / b

print(divide(10, 2)) # درست
print(divide("10", 2)) # خطا در زمان اجرا


---

6. نقش Duck Typing در پایتون

پایتون از مفهومی به نام Duck Typing استفاده می‌کند:

> اگر چیزی مثل اردک راه می‌رود و مثل اردک صدا می‌کند، پس اردک است!



یعنی پایتون کمتر به نوع داده‌ها اهمیت می‌دهد و بیشتر به رفتار آن‌ها (متدها و عملگرهای پشتیبانی‌شده) توجه دارد.

مثال:

class Duck:
def quack(self):
print("Quack!")

class Person:
def quack(self):
print("I’m pretending to be a duck!")

def make_it_quack(duck_like):
duck_like.quack()

make_it_quack(Duck()) # Quack!
make_it_quack(Person()) # I’m pretending to be a duck!


---

7. Type Hinting (اشاره‌گر نوع) در پایتون

از نسخه Python 3.5 به بعد، امکان Type Hints اضافه شد.
این قابلیت اجازه می‌دهد نوع متغیرها را مشخص کنید اما همچنان اجباری نیست و در زمان اجرا بررسی نمی‌شود؛ فقط ابزارهایی مثل mypy یا IDE می‌توانند آن را بررسی کنند.

مثال با Type Hint:

def greet(name: str) -> str:
return "Hello, " + name

print(greet("Ali")) # درست
print(greet(123)) # خطا در mypy (ولی پایتون اجرا می‌کند!)


---

8. کارایی (Performance)

از آنجایی که پایتون باید در زمان اجرا نوع هر متغیر را بررسی کند، سرعت آن نسبت به زبان‌های استاتیک تایپ کمتر است.
با این حال، انعطاف‌پذیری بالای آن باعث شده برای توسعه سریع (Rapid Development) بسیار محبوب باشد.


---

9. جمع‌بندی

پایتون یک زبان داینامیک تایپ است.

نوع متغیرها در زمان اجرا مشخص می‌شود و می‌تواند تغییر کند.

این ویژگی باعث سادگی، انعطاف‌پذیری و سرعت در توسعه می‌شود.

در مقابل، ممکن است باعث خطاهای زمان اجرا، دشواری در مدیریت پروژه‌های بزرگ و کاهش کارایی شود.

برای رفع برخی از این مشکلات، می‌توان از Type Hinting استفاده کرد.
1. انواع حلقه‌ها در پایتون

الف) حلقه for

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

مثال روی لیست:


fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)

ب) حلقه while

تا وقتی شرط True باشد، تکرار می‌کند.


i = 0
while i < 5:
print(i)
i += 1


---

2. روش‌های حلقه زدن روی داده‌ها

2.1 روی لیست

numbers = [1, 2, 3, 4, 5]
for n in numbers:
print(n)

2.2 روی رشته

word = "Python"
for letter in word:
print(letter)

2.3 روی دیکشنری

person = {"name": "Ali", "age": 25}
for key in person:
print(key, person[key])

# یا
for key, value in person.items():
print(key, value)

2.4 با تابع range()

برای تکرار به تعداد مشخص:


for i in range(5):
print(i)


---

3. روش‌های پیشرفته‌تر

3.1 حلقه‌های تو در تو (Nested Loops)

matrix = [[1,2,3],[4,5,6]]
for row in matrix:
for item in row:
print(item)

3.2 حلقه با شرط (List Comprehension)

روشی کوتاه و پایتونیک برای حلقه:


squares = [x**2 for x in range(5)]
print(squares)

3.3 استفاده از enumerate

برای دسترسی به اندیس و مقدار همزمان:


fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
print(index, fruit)

3.4 استفاده از zip

برای حلقه زدن روی چند لیست همزمان:


names = ["Ali", "Sara"]
ages = [25, 30]
for name, age in zip(names, ages):
print(name, age)


---

4. دستورات کنترلی در حلقه‌ها

break: خروج از حلقه

continue: رد کردن تکرار فعلی

else در حلقه: وقتی حلقه بدون break تمام شود


for i in range(5):
if i == 3:
break
print(i)
else:
print("تمام شد!") # اجرا نمی‌شود چون break اتفاق افتاد
🔹 یادگیری برنامه‌نویسی یعنی تمرین، تجربه و چالش 🔹

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

هدف ما این است که با تمرین‌های هدفمند، پروژه‌های کوچک و سوالات چالشی، قدم‌به‌قدم شما را به یک برنامه‌نویس توانمند تبدیل کنیم.
یادگیری واقعی زمانی شکل می‌گیرد که «خودتان کدنویسی کنید، اشتباه کنید، رفع اشکال کنید و تجربه بیاموزید».

پس آماده باشید برای یک مسیر پر از تمرین، خلاقیت و یادگیری عمیق 🚀
سلام بچه‌ها 🌹

نمونه‌سوالات خیلی خوبی برامون ارسال شده.
ما ۲۰ سؤال مطابق دروس تدریس‌شده آماده کردیم که می‌تونید از هر سطح ساده، متوسط و سخت انتخاب کنید و حل کنید:
🔗 لینک سوالات
https://eitaa.com/85334588/1160

لطفاً وقتی می‌خواید روی یک سؤال کار کنید:

1. شماره سؤال رو بنویسید.


2. کد تایپی جواب رو داخل گروه بذارید.


3. ۲ تا ۳ عکس یا یک فیلم کوتاه از اجرای کد و خروجی هم بذارید تا مطمئن بشیم درست اجرا شده.



📌 مثال:
سؤال: پیدا کردن بزرگترین عدد
کد تایپی + عکس/فیلم اجرای خروجی

این کار باعث میشه:

بقیه دوستان همون سؤال رو تکراری نفرستن.

همه روش‌های مختلف حل رو ببینیم و یاد بگیریم.

مطمئن بشیم کد اجرا میشه و جواب درست داده.


🙏 همچنین از همه دوستانی که تا الان تمرین‌ها رو ارسال کردند تشکر می‌کنیم.

۱. آقای محمدصالح قادریان
۲.آقای جعفرزاده

توجه و تلاش شما نشون میده آموزش‌ها رو جدی دنبال می‌کنید.
✔️ یادتون باشه حل همین سوالات بیشترین تأثیر رو در تثبیت و درک عمیق مفاهیم داره.

👏 خسته نباشید به همه شما و همین‌طور پرقدرت ادامه بدید 🚀
بهار ماه‏‌ ها، ربیع الاول است
چرا که آثار رحمت الهی و ذخایر برکات خداوندی در این ماه پدیدار می‏‌شود
و انوار جمال الهی بر زمین و زمینیان می‏‌تابد.
حلول ماه ربیع الاول، ماه جشن و سرور اهل بیت (ع) مبارک باد.
پیام تبریک 🌸🏆🥇

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

این موفقیت درخشان را به اعضای شایسته تیم ملی 🌹:

🥇 علی نادری

🥇 حسین معصومی

🥇 هیربد فودازی

🥇 ارشیا میرشمسی کاخکی

🥇 حسین سلطانی


و همچنین خانواده‌های گرامی ایشان، مربیان دلسوز و جامعه علمی کشور تبریک عرض می‌کنیم. 🌸

امید است درخشش شما الهام‌بخش نسل‌های آینده در مسیر علم، دانش و سربلندی ایران اسلامی باشد. 🏆🇮🇷
📝 گزارش جلسه هفتم

🔹 بخش اول: مرور و تمرین

مروری بر مباحث جلسات گذشته

پاسخ‌گویی و حل پرسش‌های مرتبط



---

🔹 بخش دوم: کار با لیست‌ها (Lists)

آشنایی با متدهای پرکاربرد لیست:

append() : افزودن عنصر جدید

remove() : حذف عنصر

sort() : مرتب‌سازی

index() : یافتن اندیس یک مقدار


کاربرد لیست برای ذخیره داده‌های متوالی



---

🔹 بخش سوم: کار با مجموعه‌ها (Sets)

تعریف و ویژگی‌ها:

عناصر بدون ترتیب

جلوگیری از تکرار عناصر


متدها و عملیات مهم:

اجتماع (union)

اشتراک (intersection)

تفاضل (difference)




---

🔹 بخش چهارم: عملگرها (Operators)

1. ریاضی (Arithmetic):
+, -, *, /, //, %, **


2. مقایسه‌ای (Comparison):
==, !=, <, >, <=, >=


3. منطقی (Logical):
and, or, not


4. عضویت (Membership):
in, not in


5. عملگرهای اختصاصی (Identity Operators):
is, is not




---

جمع‌بندی

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

👨‍🏫 مربی: یاسر محمودیان

📅 تاریخ برگزاری: ۳ شهریورماه ۱۴۰۴

ساعت:

۹:۰۰ تا ۱۰:۳۰ — برادران

۱۰:۳۰ تا ۱۲:۰۰ — خواهران


📍 مکان: کانون فرهنگی ورزشی شهید صیادشیرازی بسیج درگز
🌟🌱 جوانان پرانرژی و علاقه‌مند؛ فعال در راه برنامه‌نویسی و آینده‌سازی 🌱🌟

واقعاً بچه‌های خیلی فعال و علاقه‌مندی داریم؛ پر از استعداد، انرژی و انگیزه 🌸. برای من بسیار ارزشمند است وقتی می‌بینم آن‌ها با تلاش، پشتکار و خلاقیت در مسیر ساختن چیزی جدید قدم برمی‌دارند 💡.

این روحیه‌ی مبتکر بودن و علاقه‌ی واقعی به برنامه‌نویسی، دستاورد بزرگی در همین چند جلسه بوده است 🚀. خوشحالم که می‌بینم بچه‌ها با جدیت تمرین می‌کنند، استمرار دارند و روزبه‌روز علاقه بیشتری به برنامه‌نویسی پیدا کرده‌اند 🖥️💻.

بزرگ‌ترین افتخار من این است که شاهد رشد و بالندگی آن‌ها هستم؛ می‌بینم که اعتمادبه‌نفس پیدا می‌کنند، در عمل توانمند می‌شوند و برای آینده‌ای روشن تلاش می‌کنند . این تلاش‌ها نه‌تنها باعث افتخار خانواده‌ها و معلمانشان است، بلکه در آینده می‌تواند مایه‌ی سربلندی کشور عزیزمان جمهوری اسلامی ایران باشد.

این دانش‌آموزان واقعاً پویــا، فعال و پرانرژی هستند ؛ دارند آینده را می‌سازند و من هم با علاقه و افتخار همراهشان هستم و همراهی با این دانش‌آموزان و دیدن تلاش و پیشرفت آن‌ها برای من یکی از تجربه‌های ارزشمند و خاطره‌انگیز زندگی است.» 🌼.
Media is too big
VIEW IN TELEGRAM
📢 اطلاعیه برگزاری دوره جدید پایتون

با توجه به استقبال همشهریان عزیز از دوره‌ی قبلی، ان‌شاءالله از هفته آینده دوره‌ی جدید برنامه‌نویسی پایتون برگزار خواهد شد.

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

دوستانی که تمایل به شرکت دارند، لطفاً هرچه سریع‌تر اطلاع دهند.
آموزش برنامه‌نویسی پایتون و هوش مصنوعی
Video
🔹 سوال 1 : بزرگ‌ترین عدد فرد در لیست

numbers = [10, 23, 4, 5, 6, 78, 65, 45, 78, 5685, 90, 765, 77776, 432, 56, 102]

max_odd = None
for num in numbers:
if num % 2 != 0:
if max_odd is None or num > max_odd:
max_odd = num

print("بزرگ‌ترین عدد فرد:", max_odd)

چطور کار می‌کند؟

1. اول max_odd برابر None قرار داده می‌شود (یعنی هنوز چیزی نداریم).


2. در حلقه، هر عدد چک می‌شود:

اگر فرد بود (num % 2 != 0)،

مقایسه می‌شود: اگر max_odd خالی بود یا عدد جدید بزرگ‌تر بود، جایگزین می‌شود.



3. در آخر بیشترین عدد فرد ذخیره شده.



✔️ خروجی: 5685


---

🔹 سوال 2 : شمارش حروف بزرگ و کوچک

text = 'Hello world PYTHON!'

upper_count = sum(1 for c in text if c.isupper())
lower_count = sum(1 for c in text if c.islower())

print("تعداد حروف بزرگ:", upper_count)
print("تعداد حروف کوچک:", lower_count)

چطور کار می‌کند؟

c.isupper() → بررسی می‌کند آیا کاراکتر بزرگ است.

c.islower() → بررسی می‌کند آیا کاراکتر کوچک است.

برای هر بار درست بودن، یک عدد 1 شمرده می‌شود و در نهایت مجموع گرفته می‌شود.


✔️ خروجی:
تعداد حروف بزرگ: 7
تعداد حروف کوچک: 8


---

🔹 سوال 3 : معدل دانش‌آموزان

students_scores = {
"ali": [18, 20, 19, 16, 15, 20],
"sara": [19, 20, 18, 20, 17],
"omid": [16, 20, 18, 17]
}

averages = {name: sum(scores)/len(scores) for name, scores in students_scores.items()}
print("معدل دانش‌آموزان:", averages)

چطور کار می‌کند؟

برای هر دانش‌آموز، نمراتش در یک لیست ذخیره شده.

sum(scores) مجموع نمره‌ها را حساب می‌کند.

len(scores) تعداد نمره‌ها را می‌دهد.

تقسیم این دو، معدل می‌شود.


✔️ خروجی:
ali: 18.0
sara: 18.8
omid: 17.75


---

🔹 سوال 4 : فاکتوریل بازگشتی

def factorial(n):
if n <= 1:
return 1
return n * factorial(n - 1)

print("فاکتوریل 5:", factorial(5))

چطور کار می‌کند؟

فاکتوریل یعنی:


در بازگشتی:

اگر n=1 یا n=0 باشد → جواب 1 است (شرط پایان).

در غیر این صورت n ضربدر فاکتوریل (n-1) می‌شود.



برای n=5:

factorial(5) → 5 × factorial(4)
factorial(4) → 4 × factorial(3)
factorial(3) → 3 × factorial(2)
factorial(2) → 2 × factorial(1)
factorial(1) → 1

در نهایت: 5×4×3×2×1 = 120

✔️ خروجی: 120


---

🔹 سوال 5 : بررسی عدد اول

def is_prime(num):
if num < 2:
return False
for i in range(2, int(num**0.5)+1):
if num % i == 0:
return False
return True

print("آیا 29 عدد اول است؟", is_prime(29))

چطور کار می‌کند؟

عدد اول باید فقط بر 1 و خودش بخش‌پذیر باشد.

کافی است تا ریشه دوم عدد را چک کنیم (برای سرعت).

اگر هیچ مقسومی پیدا نشد → عدد اول است.


✔️ خروجی: True


---

🔹 سوال 6 : حذف حروف تکراری

text = "programming"
unique_chars = "".join(dict.fromkeys(text))
print("حروف بدون تکرار:", unique_chars)

چطور کار می‌کند؟

dict.fromkeys(text) همه کاراکترها را کلید دیکشنری می‌کند → تکراری‌ها حذف می‌شوند.

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

در آخر دوباره با "".join() رشته ساخته می‌شود.


✔️ خروجی: progamin


---

🔹 سوال 7 : مجموع اعداد زوج

n = 8
sum_even = sum(i for i in range(2, n+1) if i % 2 == 0)
print("مجموع اعداد زوج تا", n, "=", sum_even)

چطور کار می‌کند؟

range(2, n+1) همه اعداد از 2 تا n را می‌سازد.

شرط if i % 2 == 0 فقط زوج‌ها را نگه می‌دارد.

sum(...) مجموع آن‌ها را می‌گیرد.


✔️ خروجی:
مجموع اعداد زوج تا 8 = 20