Python3
200 subscribers
100 photos
6 videos
26 files
518 links
🎓 آموزش و پروژه‌های Python
آموزش‌های کاربردی و پروژه‌های عملی Python برای همه سطوح. 🚀
Download Telegram
🌟 آموزش دریافت ورودی از کاربر در پایتون 🌟

سلام دوستان! امروز یاد می‌گیریم چگونه در پایتون ورودی از کاربر بگیریم. 😎

## نصب پایتون 🐍
از سایت [Python](https://www.python.org/downloads/) آخرین نسخه را دانلود و نصب کنید.

## دریافت ورودی متنی 📄

name = input("لطفاً نام خود را وارد کنید: ")
print(f"سلام {name}! خوش آمدید! 😊")

توضیح:
تابع input() ورودی متنی از کاربر می‌گیرد و در متغیر name ذخیره می‌کند. سپس با استفاده از print() پیام خوش‌آمدگویی نمایش داده می‌شود.

## دریافت ورودی عددی 🔢

age = int(input("لطفاً سن خود را وارد کنید: "))
print(f"شما {age} سال دارید. 🎂")

توضیح:
ورودی از کاربر گرفته شده و با int() به عدد صحیح تبدیل می‌شود. سپس پیام مربوط به سن نمایش داده می‌شود.

## دریافت ورودی اعشاری 💧

height = float(input("لطفاً قد خود را به متر وارد کنید: "))
print(f"قد شما {height} متر است. 📏")

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

## مدیریت خطاها 🚫

try:
age = int(input("لطفاً سن خود را وارد کنید: "))
print(f"شما {age} سال دارید. 🎂")
except ValueError:
print("لطفاً یک عدد صحیح وارد کنید! ⚠️")

توضیح:
با استفاده از try-except خطاهای ورودی مدیریت می‌شود. اگر ورودی نامعتبر باشد، پیام خطا نمایش داده می‌شود.

## دریافت چندین ورودی در یک خط ✏️

data = input("لطفاً نام و سن خود را با فاصله وارد کنید: ").split()
name, age = data[0], int(data[1])
print(f"نام شما {name} و سن شما {age} است. 😊🎂")

توضیح:
ورودی چندگانه با split() به لیست تبدیل شده و سپس به متغیرها اختصاص داده می‌شود.

## محاسبه مجموع دو عدد

try:
num1 = float(input("عدد اول را وارد کنید: "))
num2 = float(input("عدد دوم را وارد کنید: "))
print(f"مجموع {num1} و {num2} برابر است با {num1 + num2}. ")
except ValueError:
print("لطفاً فقط اعداد وارد کنید! ⚠️")

توضیح:
دو عدد از کاربر گرفته شده، مجموع آنها محاسبه و نمایش داده می‌شود. خطاهای ورودی نیز مدیریت می‌شوند.

## محاسبه میانگین نمرات 🎓

try:
grades = [float(x) for x in input("نمرات خود را با فاصله وارد کنید: ").split()]
print(f"میانگین نمرات شما برابر است با {sum(grades) / len(grades)}. 📊")
except ValueError:
print("لطفاً فقط اعداد وارد کنید! ⚠️")

توضیح:
نمرات از کاربر گرفته شده، به لیست تبدیل و میانگین آنها محاسبه می‌شود. خطاهای ورودی نیز مدیریت می‌شوند.

برای آموزش‌های بیشتر، کانال ما را دنبال کنید! 📚👨‍💻

🔗https://t.iss.one/hamidpython123
👍41
🔹 آموزش اضافه کردن تصویر به صفحه گرافیکی با Pygame 🔹

سلام دوستان! 😃 امروز می‌خواهیم یاد بگیریم چطور با استفاده از کتابخانه Pygame یک تصویر به صفحه گرافیکی اضافه کنیم. اگر به برنامه‌نویسی بازی علاقه دارید، این آموزش برای شماست! 🎮🖼️

📥 نصب Pygame
ابتدا باید Pygame را نصب کنید. می‌توانید از دستور زیر در محیط خط فرمان استفاده کنید:
pip install pygame

✍️ ایجاد پروژه ساده Pygame
یک فایل پایتون جدید ایجاد کنید و نام آن را مثلاً pygame_image.py بگذارید. سپس کد زیر را به فایل اضافه کنید:

import pygame
import sys

# راه‌اندازی Pygame
pygame.init()

# تنظیمات صفحه نمایش
screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption('اضافه کردن تصویر به صفحه گرافیکی در Pygame')

# رنگ‌ها
white = (255, 255, 255)

# تابع اصلی بازی
def main():
# بارگذاری تصویر
image = pygame.image.load('path_to_your_image.png')
image_rect = image.get_rect()
image_rect.topleft = (100, 100)

# حلقه اصلی بازی
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()

# رسم صفحه سفید
screen.fill(white)

# رسم تصویر
screen.blit(image, image_rect)

# به‌روزرسانی صفحه نمایش
pygame.display.flip()

# اجرای تابع اصلی بازی
if __name__ == '__main__':
main()

📝 توضیحات کد:
1. وارد کردن کتابخانه‌ها: از pygame و sys برای مدیریت رویدادها و خروج استفاده می‌کنیم.
2. راه‌اندازی Pygame: با pygame.init(), Pygame را راه‌اندازی می‌کنیم.
3. تنظیمات صفحه نمایش: صفحه نمایشی با ابعاد 800x600 پیکسل ایجاد کرده و عنوان آن را تنظیم می‌کنیم.
4. رنگ‌ها: رنگ سفید را به عنوان یک متغیر تعریف می‌کنیم.
5. تابع اصلی بازی:
- تصویر را با pygame.image.load() بارگذاری می‌کنیم. مطمئن شوید که مسیر تصویر درست است.
- یک حلقه اصلی بازی ایجاد می‌کنیم که در آن رویدادها مدیریت می‌شوند، صفحه سفید رسم می‌شود، تصویر رسم می‌شود و صفحه نمایش به‌روزرسانی می‌شود.

🔔 نکات مهم:
- مطمئن شوید که مسیر تصویر صحیح است. مثلاً اگر تصویر در همان پوشه فایل پایتون شما قرار دارد، نام فایل تصویر را به صورت مستقیم (مثلاً image.png) بنویسید. در غیر این صورت، مسیر کامل تصویر را وارد کنید.
- برای خروج از برنامه، روی دکمه بستن پنجره کلیک کنید.

با اجرای این کد، شما یک صفحه Pygame خواهید داشت که تصویر مورد نظر شما در موقعیت (100, 100) رسم می‌شود. 🖼️ می‌توانید موقعیت تصویر را با تغییر مختصات image_rect.topleft تغییر دهید.

این آموزش ساده شما را با نحوه اضافه کردن تصویر به یک صفحه گرافیکی در Pygame آشنا می‌کند. با تمرین و آزمایش بیشتر، می‌توانید مهارت‌های خود را افزایش دهید و پروژه‌های گرافیکی پیچیده‌تری ایجاد کنید.

داخل کانالمون عضو شید و به دوستاتون هم معرفی کنید😁👇

🔗https://t.iss.one/hamidpython123

امیدوارم این آموزش برای شما مفید باشد. اگر سوالی دارید، حتماً در بخش نظرات بپرسید! 💬

#آموزش #برنامه_نویسی #بازی_سازی #Pygame #Python
👍21
سلام دوستان 🌟

امروز با چند خبر جدید و هیجان‌انگیز از دنیای پایتون اومدیم! 🐍

1. انتشار نسخه جدید پایتون 3.12! 🎉 این نسخه با بهبودهای عملکردی و قابلیت‌های جدید ارائه شده که تجربه برنامه‌نویسی رو راحت‌تر و سریع‌تر می‌کنه.

2. بسته‌های جدید در PyPI 📦: تعدادی کتابخانه جدید و به‌روز‌رسانی‌های مهم در PyPI منتشر شدند. پیشنهاد می‌کنیم کتابخانه‌های جدید رو بررسی کنید و از امکانات جدید استفاده کنید.

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

4. مقاله‌های آموزشی جدید 📚: در وبسایت‌های معتبر مثل Real Python و Towards Data Science چندین مقاله آموزشی جدید منتشر شده که موضوعاتی مثل یادگیری ماشین، توسعه وب و تحلیل داده رو پوشش می‌ده.

کانال منون به دوستاتون معرفی کنی🙏👇

🔗https://t.iss.one/hamidpython123

اگه نظری، سوالی یا پیشنهادی دارید، حتماً توی کامنت‌ها با ما به اشتراک بزارید! 🤓👇

#پایتون #اخبار_پایتون #برنامه_نویسی #توسعه_نرم‌افزار
👍3
سلام دوستان 🌟

امروز با معرفی چند کتابخانه جدید و هیجان‌انگیز از دنیای پایتون اومدیم! 🐍

1. Polars 📊: یک کتابخانه سریع و مدرن برای پردازش داده‌ها که با استفاده از تکنیک‌های پیشرفته، عملکرد بهتری نسبت به Pandas ارائه می‌ده.

2. Rich 🎨: ابزاری برای ایجاد رابط‌های کاربری خط فرمان زیبا و جذاب. با استفاده از این کتابخانه، می‌تونید متن‌ها، جداول، نمودارها و حتی انیمیشن‌های مختلف رو به راحتی در ترمینال نمایش بدید.

3. FastAPI 🚀: یک فریم‌ورک وب سریع و کارآمد برای ساخت APIهای مدرن که با تمرکز بر سرعت و عملکرد بالا توسعه داده شده.

4. Streamlit 📈: یک ابزار ساده و قدرتمند برای تبدیل اسکریپت‌های پایتون به اپلیکیشن‌های تعاملی وب. بسیار مناسب برای دانشمندان داده و تحلیل‌گران.

5. Typer ⌨️: یک کتابخانه برای ساختن خط فرمان (CLI) که با استفاده از تایپ‌های پایتون، توسعه و نگهداری اسکریپت‌های CLI رو بسیار ساده‌تر می‌کنه.

این کتابخانه‌های جدید رو بررسی کنید و از امکانات جدیدشون استفاده کنید.

🔗https://t.iss.one/hamidpython123

#پایتون #کتابخانه_جدید #برنامه_نویسی #توسعه_نرم‌افزار
👍2
خرداد ماهیا
😁1🌚1
☝️ امروز اومدم با آموزش رت هک گالری ☝️

شما یه چند تا ادیت نیاز دارید
برنامه رت رو با apk editor باز کنیم قسمت full edit پوشه assent اونجا توکن خودتون رو توی فایل token.txt بزارید و آیدی عددیتون فایل id.txt همچنین میتونید قابلیت وب ویو فعال کنید که لینک سایت رو تو فایل url.txt بزارید و تمام کامپایل کنید بدید به تارگتتون

مدیونمید اگه برا نود ملت استفاده کنید 😔😂
🤣2😁1
☝️🆕️این کد وقتی اجرا شه ازتون یه سری اطلاعات مثل اندازه محور y و آیتم و مقدارش رو میگیره حالا مقدار زمان باشه یا اندازه یا حجم فرقی نمیکنه بعدش میاد با این اطلاعات به نمودار ستونی درست میکنه ❗️

حالا دیگه کانال منو به بقیه معرفی کن 👇
🔗https://t.iss.one/hamidpython123
Media is too big
VIEW IN TELEGRAM
#زنگ_تفریح

پ‌ن: حلال‌خور مثل صداپیشهٔ نزوکو :))

#Meme
❗️کیا انیمه میبینن مثل من 🧐
👍1
🆕️یه بلاک به اسم try هست که جلوی ارور هارو میگیره ❗️و برنامه به کارش ادامه میده اینجا تا توضیحات گذاشتمش👇
try:
# اینجا کدهایی که ممکنه ارور بدن رو قرار بده
# مثلا خواندن فایل و پردازش داده‌ها
lines = read_file(file_path)
courses = process_data(lines)
sorted_courses = sort_courses(courses)
print_courses(sorted_courses)

except Exception as e:
# اینجا ارور رو چاپ می‌کنیم ولی برنامه متوقف نمی‌شه
print(f"An error occurred: {e}")

🟥اگه جالب بود کانال منو به بقیه معرفی کنید
اگه خودتون عضو نشدید عضو شید😉👇

🔗https://t.iss.one/hamidpython123
👍5
🆕️شلام به دوستان عزیز یه کد کاربردی دیگه آوردم براتون ❗️

✅️برای انتقال دیتاها از یه پوشه به پوشه دیگه😀

👇این کد بعد اجرا اسم تمام پوشه های سیستم رو نمایش میده و عدد گذاری میکنه بعد ازتون عدد پوشه مبدأ رو میگیره و پوشه مقصد بعد انتخاب ازتون یه تایید میگیره و بعد دیتا هارو انتقال میده👇


import os
import shutil

def list_directories(path):
try:
directories = [d for d in os.listdir(path) if os.path.isdir(os.path.join(path, d))]
return directories
except FileNotFoundError:
print("The entered path is not valid.")
return []

def select_directory(directories, prompt):
for index, directory in enumerate(directories, start=1):
print(f"{index}. {directory}")
choice = int(input(prompt))
return directories[choice - 1]

def move_data(source_path, destination_path):
for item in os.listdir(source_path):
s_item = os.path.join(source_path, item)
d_item = os.path.join(destination_path, item)
if os.path.isdir(s_item):
shutil.move(s_item, d_item)
else:
shutil.copy2(s_item, d_item)

# Main
if __name__ == "__main__":
main_path = input("Enter the main directory path: ")
directories = list_directories(main_path)

if directories:
print("Select the source directory:")
source_dir = select_directory(directories, "Enter the number of the source directory: ")
source_path = os.path.join(main_path, source_dir)

print("Select the destination directory:")
destination_dir = select_directory(directories, "Enter the number of the destination directory: ")
destination_path = os.path.join(main_path, destination_dir)

confirmation = input(f"Do you want to move all data from {source_dir} to {destination_dir}? (yes/no): ").lower()
if confirmation == 'yes':
move_data(source_path, destination_path)
print("Data has been moved successfully.")
else:
print("Operation cancelled.")
else:
print("No directories found.")

🟥اگه جالب بود یادتون نره کانال مارو به بقیه معرفی کنید 😉

🔗https://t.iss.one/hamidpython123

#پایتون #کاربردی
👍3
🎉 سلام به همه دوستای من! 🎉

امروز می‌خوایم با هم یه کتابخونه فوق‌العاده جذاب و کاربردی به نام Matplotlib رو یاد بگیریم تا بتونیم نمودارهای شگفت‌انگیزی بسازیم! 📈😎

1. شروع با نصب Matplotlib 💻📦
اول از همه باید این کتابخونه رو نصب کنیم. یه ترمینال باز کن و این دستور رو وارد کن:


   pip install matplotlib

🎉 بوم! حالا Matplotlib نصب شد!

2. ایجاد یه نمودار ساده 👩‍💻🧑‍💻
خب حالا بیایم یه نمودار ساده با Matplotlib بسازیم:


   import matplotlib.pyplot as plt

# داده‌های نمونه
ماه‌ها = ['تیر', 'مرداد', 'شهریور', 'مهر']
فروش = [10, 15, 7, 12]

plt.plot(ماه‌ها, فروش) 📈
plt.title('فروش ماهانه') 🏷️
plt.xlabel('ماه') 🏷️
plt.ylabel('فروش') 🏷️
plt.show() 🎉

📜 تو این کد، یه نمودار ساده از فروش ماهانه ساختیم. چقدر آسان بود نه؟!

3. افزودن استایل به نمودار 🎨
حالا بیایم یه کم به نمودارمون استایل بدیم تا شیک‌تر بشه:


   plt.plot(ماه‌ها, فروش, color='blue', linewidth=2, marker='o') 💙
plt.title('فروش ماهانه', fontsize=16) 🏷️
plt.xlabel('ماه', fontsize=12) 🏷️
plt.ylabel('فروش', fontsize=12) 🏷️
plt.grid(True) 🌐
plt.show() 🎉

🌟 با این کد، رنگ و ضخامت خط نمودار رو تغییر دادیم، مارکرها اضافه کردیم و برچسب‌ها رو هم بزرگ‌تر کردیم. حالا نمودارمون خیلی شیک شد!

4. ساخت نمودارهای پیچیده‌تر 🚀📊
حالا که اصول اولیه رو یاد گرفتیم، می‌تونیم نمودارهای پیچیده‌تری با Matplotlib بسازیم. مثلاً نمودارهای چند خطی، میله‌ای یا حتی دایره‌ای! 🎨🧠


   # داده‌های نمونه برای نمودار چند خطی
هزینه = [5, 7, 3, 8]

plt.plot(ماه‌ها, فروش, label='فروش', color='blue', marker='o') 📈
plt.plot(ماه‌ها, هزینه, label='هزینه', color='red', marker='s') 📉
plt.title('فروش و هزینه ماهانه', fontsize=16) 🏷️
plt.xlabel('ماه', fontsize=12) 🏷️
plt.ylabel('مقدار', fontsize=12) 🏷️
plt.legend() 🏅
plt.grid(True) 🌐
plt.show() 🎉

💥 بوم! حالا یه نمودار چند خطی داریم که فروش و هزینه‌ها رو نشون می‌ده. خیلی حرفه‌ای شدیم!



امیدوارم از این آموزش خوشتون اومده باشه و حسابی از Matplotlib برای نمودارهاتون استفاده کنید! 😍🚀

❗️اینجارو نگا اینو به دوستات نشون بده تا بیان عضو شن👇😉
🔗https://t.iss.one/hamidpython123

پایان! 🎬
👍2
🎉 سلام به همه! 🎉

امروز می‌خوایم با هم یه کتابخونه فوق‌العاده جذاب و کاربردی به نام NumPy رو یاد بگیریم تا بتونیم با اعداد و داده‌ها حسابی بازی کنیم! 🔢😎

1. شروع با نصب NumPy 💻📦
اول از همه باید این کتابخونه رو نصب کنیم. یه ترمینال باز کن و این دستور رو وارد کن:


   pip install numpy

🎉 بوم! حالا NumPy نصب شد!

2. ایجاد یه آرایه ساده 👩‍💻🧑‍💻
خب حالا بیایم یه آرایه ساده با NumPy بسازیم:


   import numpy as np

# ایجاد یه آرایه ساده
arr = np.array([1, 2, 3, 4, 5])
print("آرایه: ", arr) 📊

📜 تو این کد، یه آرایه ساده ساختیم و چاپش کردیم. چقدر آسان بود نه؟!

3. انجام عملیات‌های پایه‌ای روی آرایه‌ها 🔄
حالا بیایم چند تا عملیات پایه‌ای روی آرایه‌مون انجام بدیم:


   # جمع کردن همه عناصر آرایه
sum_arr = np.sum(arr)
print("جمع عناصر آرایه: ", sum_arr)

# میانگین عناصر آرایه
mean_arr = np.mean(arr)
print("میانگین عناصر آرایه: ", mean_arr) 📊

# بیشترین و کمترین مقدار آرایه
max_arr = np.max(arr)
min_arr = np.min(arr)
print("بیشترین مقدار: ", max_arr, "کمترین مقدار: ", min_arr) 🔺🔻

🌟 با این کد، جمع، میانگین، بیشترین و کمترین مقدار آرایه رو محاسبه کردیم. حالا آرایه‌مون خیلی باحال‌تر شد!

4. ساخت آرایه‌های چند بعدی 🚀📊
حالا که اصول اولیه رو یاد گرفتیم، می‌تونیم آرایه‌های چند بعدی با NumPy بسازیم:


   # ایجاد یه آرایه دو بعدی
arr_2d = np.array([[1, 2, 3], [4, 5, 6]])
print("آرایه دو بعدی:\n", arr_2d) 🟦🟦🟦

# دسترسی به عناصر آرایه دو بعدی
element = arr_2d[0, 1]
print("دومین عنصر از اولین سطر: ", element) 🎯

💥 بوم! حالا یه آرایه دو بعدی داریم و می‌تونیم به عناصرش دسترسی پیدا کنیم. خیلی حرفه‌ای شدیم!

5. انجام عملیات‌های پیشرفته‌تر 🚀🧠
حالا بیایم چند تا عملیات پیشرفته‌تر انجام بدیم:


   # جمع کردن دو آرایه
arr2 = np.array([10, 20, 30, 40, 50])
sum_arrays = arr + arr2
print("جمع دو آرایه: ", sum_arrays)

# ضرب عنصر به عنصر دو آرایه
mul_arrays = arr * arr2
print("ضرب عنصر به عنصر دو آرایه: ", mul_arrays) ✖️

# ایجاد یه آرایه با اعداد تصادفی
rand_arr = np.random.rand(3, 3)
print("آرایه تصادفی:\n", rand_arr) 🎲

🌈 با این کد، دو آرایه رو جمع و ضرب کردیم و یه آرایه تصادفی ساختیم. چقدر جالب!



امیدوارم از این آموزش خوشتون اومده باشه و حسابی از NumPy برای کار با داده‌هاتون استفاده کنید! 😍🚀

👇اگه خوشتون اومد اینجا عضو شین به دوستاتونم معرفی کنید👇😉

🔗https://t.iss.one/hamidpython123

پایان!
👍2
🔥🌟 جدیدترین اخبار دنیای پایتون! 🌟🔥

سلام به همه پایتونی‌ها! 🤓🐍 وقتشه که با اخبار تازه‌ترین نسخه‌ها و آپدیت‌های دنیای پایتون آشنا بشین!

📢 پایتون 3.13.0 Beta 1 منتشر شد!
جدیدترین نسخه بتای پایتون، 3.13.0، الان در دسترسه و آماده برای تست و بازخوردهای شماست. تو این نسخه کلی ویژگی جدید و بهبودهای عملکرد داریم. حتماً دانلود کنید و از امکانات جدید لذت ببرید!

🔧 پروژه CPython سریع‌تر از همیشه!
با پروژه Faster CPython، نسخه 3.11 پایتون بین 10 تا 60 درصد سریع‌تر از نسخه قبلیه. این یعنی کدهای شما با سرعت نور اجرا میشه! 🚀

🆕 PEPهای جدید:
- PEP 681: تحول در Data Class
- PEP 675: نوع‌های رشته‌ای دلخواه
- PEP 655: مدیریت دقیق‌تر TypedDict

هر کدوم از این PEPها قابلیت‌های جدید و هیجان‌انگیزی رو به پایتون اضافه می‌کنن. حتماً بررسیشون کنید! 📜

💡 ایده‌های جدید؟ عضو هیئت مدیره PSF بشید!
انتخابات هیئت مدیره بنیاد نرم‌افزار پایتون (PSF) نزدیکه و شما می‌تونید با عضویت در این تیم، آینده پایتون رو شکل بدید. 🌍

📅 تاریخ‌های مهم:
- انتشار نسخه‌های پایتون 3.12.3 و 3.11.9

این نسخه‌ها شامل بهبودهای امنیتی و رفع باگ‌های مهم هستن. آپدیت یادتون نره! 🔒

بیشتر در مورد این اخبار و سایر به‌روزرسانی‌ها رو می‌تونید توی وبلاگ Python Insider بخونید. پایتون همیشه در حال پیشرفته، پس شما هم همراهش باشید! 💪

🔗https://t.iss.one/hamidpython123


#پایتون #Python #اخبار_پایتون #برنامه_نویسی #توسعه_نرم‌افزار #PSF

منابع: Python Insider, Python.org
👍4👏2
😭پستای منو میخونید چرا ری اکشن نمیزنید😭
👍6
صبخ امتهان ریاضی دارم
سطح مطالعه میدونم ۲ + ۲ = ۵
اعتماد به نفس = سر شب نماز خوندم
الانم کالاف میزنم
فرض کنید کد زیر را در پایتون اجرا می‌کنیم:

def func(x, l=[]): for i in range(x): l.append(i*i) print(l) func(2) func(3, [3,2,1]) func(3)
Anonymous Quiz
26%
[0, 1, 0, 1, 4]
30%
[0, 1, 3, 2, 1, 0, 1, 4]
26%
[0, 1, 3, 2, 1, 0, 4, 9]
19%
[0, 1, 0, 1, 4, 0, 4, 9]
👍2
🔍 آموزش الگوریتم‌های پرکاربرد با پایتون! 🔍

دوستان عزیز! امروز می‌خوایم بریم سراغ چند تا از الگوریتم‌های معروف و پرکاربرد در دنیای برنامه‌نویسی، اون هم با زبان پایتون 🐍. می‌دونم ممکنه کلمه "الگوریتم" براتون یه کم ترسناک به نظر بیاد، ولی نگران نباشید، قراره با مثال‌های جذاب و کاربردی این مفاهیم رو به ساده‌ترین شکل ممکن یاد بگیریم! 😄



1. مرتب‌سازی حبابی (Bubble Sort)

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

مثال: فرض کنید یه لیست از شماره‌های نامرتب داریم و می‌خوایم اونا رو به ترتیب صعودی مرتب کنیم.

کد:
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
print(f"جا به جایی: {arr}") # نشان دادن تغییرات در هر مرحله
return arr

لیست_نامرتب = [64, 34, 25, 12, 22, 11, 90]
لیست_مرتب = bubble_sort(لیست_نامرتب)
print("لیست مرتب شده: ", لیست_مرتب)

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



2. جستجوی دودویی (Binary Search)

توضیح: جستجوی دودویی برای پیدا کردن سریع یه عنصر توی یه لیست مرتب به کار می‌ره. لیست باید از قبل مرتب شده باشه. از وسط لیست شروع می‌کنیم، اگه عنصر مورد نظرمون کوچیک‌تر باشه، به نیمه پایین می‌ریم و اگه بزرگ‌تر باشه، به نیمه بالا می‌ریم.

مثال: فرض کنید یه لیست مرتب از شماره‌ها داریم و می‌خوایم ببینیم شماره 25 توی لیست هست یا نه.

کد:
def binary_search(arr, x):
low = 0
high = len(arr) - 1
mid = 0

while low <= high:
mid = (high + low) // 2

if arr[mid] < x:
low = mid + 1
elif arr[mid] > x:
high = mid - 1
else:
return mid
return -1

لیست_مرتب = [11, 22, 25, 34, 64, 90]
عنصر = 25
نتیجه = binary_search(لیست_مرتب, عنصر)

if نتیجه != -1:
print("عنصر در اندیس", str(نتیجه)، "پیدا شد")
else:
print("عنصر پیدا نشد")

نتیجه: اگر عنصر پیدا بشه، اندیس اون رو نشون می‌ده و اگر پیدا نشه، پیامی مبنی بر عدم وجود عنصر نمایش داده می‌شه.



ادامه این آموزش‌های جذاب رو توی پست‌های بعدی می‌ذارم، پس کانال رو دنبال کنید تا با هم توی دنیای الگوریتم‌ها بیشتر بگردیم! 🚀👩‍💻👨‍💻

🔗https://t.iss.one/hamidpython123

#آموزش
👍2🔥1👏1👌1