تُعتبر لغة البرمجة بايثون واحدة من أكثر اللغات شيوعًا واستخدامًا في العالم البرمجي اليوم. تتميز بايثون بسهولتها وبساطتها، مما يجعلها الخيار الأمثل للمبتدئين وكذلك للمطورين ذوي الخبرة. إن تعلم البرمجة من خلال تنفيذ المشاريع العملية يُعَدُّ من أفضل الطرق لإتقان المهارات البرمجية، حيث تتيح لك مشاريع بايثون التطبيقية فهم المفاهيم بشكل عملي وتطبيقها في سيناريوهات واقعية.

في هذا المقال، سنستعرض 15 مشروع بايثون بسيط مع الكود، مصمم لمساعدتك على تحسين مهاراتك البرمجية وتطوير قدراتك العملية. ستتنوع هذه المشاريع بين البسيطة والمعقدة، مما يوفر لك مجموعة واسعة من الأفكار لتبدأ في تنفيذها بنفسك. سواء كنت مبتدئًا تبحث عن بداية سهلة، أو مبرمجًا محترفًا يبحث عن تحديات جديدة، ستجد في هذا المقال ما يناسبك.

انطلق معنا في هذه الرحلة البرمجية الممتعة، واستعد لتطوير مهاراتك وتحقيق تقدم ملحوظ في عالم البرمجة باستخدام بايثون.

جدول المحتويات

15 مشروع بايثون بسيط للمبتدئين

مشروع بايثون 1: آلة حاسبة بسيطة

مشاريع بايثون
مشروع بايثون بسيط

وصف المشروع

في هذا المشروع، سنقوم بإنشاء آلة حاسبة بسيطة يمكنها إجراء العمليات الحسابية الأساسية: الجمع، الطرح، الضرب، والقسمة. هذا المشروع مثالي للمبتدئين حيث يساعدهم على فهم كيفية كتابة الدوال والتعامل مع المدخلات والمخرجات في بايثون.

الكود

pythonCopy code# تعريف دوال العمليات الحسابية
def add(x, y):
    return x + y

def subtract(x, y):
    return x - y

def multiply(x, y):
    return x * y

def divide(x, y):
    return x / y

# تقديم قائمة الخيارات للمستخدم
print("اختر العملية:")
print("1. جمع")
print("2. طرح")
print("3. ضرب")
print("4. قسمة")

# أخذ اختيار المستخدم
choice = input("أدخل اختيارك (1/2/3/4): ")

# التحقق من صحة الاختيار
num1 = float(input("أدخل الرقم الأول: "))
num2 = float(input("أدخل الرقم الثاني: "))

if choice == '1':
    print(f"{num1} + {num2} = {add(num1, num2)}")
elif choice == '2':
    print(f"{num1} - {num2} = {subtract(num1, num2)}")
elif choice == '3':
    print(f"{num1} * {num2} = {multiply(num1, num2)}")
elif choice == '4':
    print(f"{num1} / {num2} = {divide(num1, num2)}")
else:
    print("اختيار غير صحيح، يرجى المحاولة مرة أخرى.")

شرح الكود

  1. تعريف دوال العمليات الحسابية:
    • add(x, y): دالة تجمع بين رقمين.
    • subtract(x, y): دالة تطرح رقمًا من آخر.
    • multiply(x, y): دالة تضرب رقمين.
    • divide(x, y): دالة تقسم رقمًا على آخر.
  2. عرض قائمة العمليات للمستخدم:
    • يتم عرض قائمة بالعمليات الحسابية الممكنة للمستخدم للاختيار من بينها.
  3. أخذ اختيار المستخدم:
    • يتم أخذ الاختيار من المستخدم وتخزينه في متغير choice.
  4. إجراء العملية الحسابية:
    • بناءً على اختيار المستخدم، يتم أخذ رقمين من المدخلات وإجراء العملية الحسابية المناسبة، ثم عرض النتيجة.

مشروع بايثون 2: برنامج لحساب العمر

مشاريع بايثون 1
مشروع بايثون بسيط مع الكود

وصف المشروع

في هذا المشروع، سنقوم بإنشاء برنامج لحساب العمر بالسنوات والأشهر والأيام بناءً على تاريخ الميلاد المدخل من قبل المستخدم. هذا المشروع بسيط ومناسب للمبتدئين ويساعد على فهم كيفية التعامل مع التواريخ في بايثون.

الكود

pythonCopy codefrom datetime import datetime

# أخذ تاريخ الميلاد من المستخدم
birth_date = input("أدخل تاريخ ميلادك (بصيغة yyyy-mm-dd): ")

# تحويل النص المدخل إلى تاريخ
birth_date = datetime.strptime(birth_date, "%Y-%m-%d")

# الحصول على التاريخ الحالي
today = datetime.today()

# حساب الفرق بين التاريخ الحالي وتاريخ الميلاد
age_in_days = (today - birth_date).days

# تحويل العمر من أيام إلى سنوات وأشهر وأيام
age_years = age_in_days // 365
age_months = (age_in_days % 365) // 30
age_days = (age_in_days % 365) % 30

# طباعة العمر
print(f"عمرك هو {age_years} سنة و {age_months} شهر و {age_days} يوم.")

شرح الكود

  1. استيراد المكتبة اللازمة:
    • from datetime import datetime: استيراد مكتبة datetime للتعامل مع التواريخ والأوقات.
  2. أخذ تاريخ الميلاد من المستخدم:
    • birth_date = input("أدخل تاريخ ميلادك (بصيغة yyyy-mm-dd): "): طلب تاريخ الميلاد من المستخدم بصيغة معينة.
  3. تحويل النص المدخل إلى تاريخ:
    • birth_date = datetime.strptime(birth_date, "%Y-%m-%d"): تحويل النص المدخل إلى كائن تاريخ باستخدام الصيغة المحددة.
  4. الحصول على التاريخ الحالي:
    • today = datetime.today(): الحصول على التاريخ الحالي.
  5. حساب الفرق بين التاريخ الحالي وتاريخ الميلاد:
    • age_in_days = (today - birth_date).days: حساب الفرق بين التاريخ الحالي وتاريخ الميلاد بالأيام.
  6. تحويل العمر من أيام إلى سنوات وأشهر وأيام:
    • age_years = age_in_days // 365: حساب العمر بالسنوات.
    • age_months = (age_in_days % 365) // 30: حساب الأشهر المتبقية.
    • age_days = (age_in_days % 365) % 30: حساب الأيام المتبقية.
  7. طباعة العمر:
    • print(f"عمرك هو {age_years} سنة و {age_months} شهر و {age_days} يوم."): طباعة العمر بالسنوات والأشهر والأيام.

مشروع بايثون 3: برنامج لتحويل الوحدات

مشاريع بايثون 2
مشروع بايثون بسيط مع الكود

وصف المشروع

في هذا المشروع، سنقوم بإنشاء برنامج يمكنه تحويل وحدات القياس المختلفة مثل الطول (من متر إلى كيلومتر، من بوصة إلى سنتيمتر) والوزن (من كيلوجرام إلى جرام، من باوند إلى كيلوجرام). هذا المشروع يساعدك على فهم كيفية التعامل مع العمليات الحسابية والشروط في بايثون.

الكود

pythonCopy code# دوال لتحويل الوحدات
def meters_to_kilometers(meters):
    return meters / 1000

def inches_to_centimeters(inches):
    return inches * 2.54

def kilograms_to_grams(kilograms):
    return kilograms * 1000

def pounds_to_kilograms(pounds):
    return pounds * 0.453592

# تقديم قائمة الخيارات للمستخدم
print("اختر نوع التحويل:")
print("1. من متر إلى كيلومتر")
print("2. من بوصة إلى سنتيمتر")
print("3. من كيلوجرام إلى جرام")
print("4. من باوند إلى كيلوجرام")

# أخذ اختيار المستخدم
choice = input("أدخل اختيارك (1/2/3/4): ")

# التحقق من صحة الاختيار وإجراء التحويل المطلوب
if choice in ['1', '2', '3', '4']:
    value = float(input("أدخل القيمة التي تريد تحويلها: "))

    if choice == '1':
        print(f"{value} متر = {meters_to_kilometers(value)} كيلومتر")
    elif choice == '2':
        print(f"{value} بوصة = {inches_to_centimeters(value)} سنتيمتر")
    elif choice == '3':
        print(f"{value} كيلوجرام = {kilograms_to_grams(value)} جرام")
    elif choice == '4':
        print(f"{value} باوند = {pounds_to_kilograms(value)} كيلوجرام")
else:
    print("اختيار غير صحيح، يرجى المحاولة مرة أخرى.")

شرح الكود

  1. دوال لتحويل الوحدات:
    • meters_to_kilometers(meters): دالة لتحويل الأمتار إلى كيلومترات.
    • inches_to_centimeters(inches): دالة لتحويل البوصات إلى سنتيمترات.
    • kilograms_to_grams(kilograms): دالة لتحويل الكيلوجرامات إلى جرامات.
    • pounds_to_kilograms(pounds): دالة لتحويل الباوندات إلى كيلوجرامات.
  2. عرض قائمة التحويلات للمستخدم:
    • يتم عرض قائمة بالتحويلات الممكنة للمستخدم للاختيار من بينها.
  3. أخذ اختيار المستخدم:
    • يتم أخذ الاختيار من المستخدم وتخزينه في متغير choice.
  4. التحقق من صحة الاختيار وإجراء التحويل:
    • بناءً على اختيار المستخدم، يتم أخذ القيمة المراد تحويلها وإجراء التحويل المناسب، ثم عرض النتيجة.

مشروع بايثون 4: لعبة تخمين الأرقام

مشاريع بايثون 3
مشروع بايثون بسيط مع الكود

وصف المشروع

في هذا المشروع، سنقوم بإنشاء لعبة بسيطة حيث يتعين على المستخدم تخمين رقم عشوائي يتم اختياره بواسطة البرنامج. البرنامج سيقدم توجيهات للمستخدم إذا كان تخمينه أعلى أو أقل من الرقم الصحيح حتى يتمكن من الوصول إلى الرقم الصحيح. هذا المشروع يساعدك على فهم كيفية استخدام الحلقات والشروط في بايثون.

الكود

pythonCopy codeimport random

def guess_the_number():
    # اختيار رقم عشوائي بين 1 و 100
    number_to_guess = random.randint(1, 100)
    attempts = 0
    guessed = False

    print("مرحبًا بك في لعبة تخمين الأرقام!")
    print("لقد اخترت رقمًا بين 1 و 100. حاول تخمينه.")

    while not guessed:
        guess = int(input("أدخل تخمينك: "))
        attempts += 1

        if guess < number_to_guess:
            print("تخمينك أقل من الرقم الصحيح. حاول مرة أخرى.")
        elif guess > number_to_guess:
            print("تخمينك أعلى من الرقم الصحيح. حاول مرة أخرى.")
        else:
            guessed = True
            print(f"تهانينا! لقد خمنت الرقم الصحيح {number_to_guess} في {attempts} محاولة.")

# استدعاء دالة اللعبة لتبدأ اللعبة
guess_the_number()

شرح الكود

  1. استيراد المكتبة اللازمة:
    • import random: استيراد مكتبة random لاختيار الأرقام العشوائية.
  2. تعريف دالة اللعبة:
    • def guess_the_number(): تعريف دالة تحتوي على منطق اللعبة.
  3. اختيار رقم عشوائي:
    • number_to_guess = random.randint(1, 100): اختيار رقم عشوائي بين 1 و 100.
  4. تهيئة المتغيرات:
    • attempts = 0: متغير لتتبع عدد المحاولات.
    • guessed = False: متغير لتتبع ما إذا كان المستخدم قد خمن الرقم الصحيح.
  5. عرض رسالة ترحيبية وتعليمات:
    • print("مرحبًا بك في لعبة تخمين الأرقام!"): عرض رسالة ترحيبية.
    • print("لقد اخترت رقمًا بين 1 و 100. حاول تخمينه."): عرض تعليمات للمستخدم.
  6. بدء حلقة اللعبة:
    • while not guessed: حلقة تستمر حتى يخمن المستخدم الرقم الصحيح.
    • guess = int(input("أدخل تخمينك: ")): أخذ تخمين المستخدم وتحويله إلى عدد صحيح.
    • attempts += 1: زيادة عدد المحاولات.
  7. التحقق من تخمين المستخدم:
    • إذا كان التخمين أقل من الرقم الصحيح، يعرض البرنامج رسالة تشجيعية.
    • إذا كان التخمين أعلى من الرقم الصحيح، يعرض البرنامج رسالة تشجيعية.
    • إذا كان التخمين صحيحًا، يتم كسر الحلقة وعرض رسالة تهنئة مع عدد المحاولات.
  8. استدعاء دالة اللعبة:
    • guess_the_number(): استدعاء الدالة لبدء اللعبة.

مشروع بايثون 5: برنامج لمعرفة ما إذا كان الرقم فرديًا أو زوجيًا

مشروع بايثون
مشروع بايثون بسيط مع الكود

وصف المشروع

هذا المشروع يهدف إلى إنشاء برنامج بسيط يسأل المستخدم عن رقم ويقوم بفحص ما إذا كان الرقم فرديًا أو زوجيًا. يساعد هذا المشروع على فهم كيفية استخدام العمليات الحسابية البسيطة والشروط في بايثون.

الكود

pythonCopy codedef check_even_odd(number):
    if number % 2 == 0:
        return "زوجي"
    else:
        return "فردي"

# أخذ الرقم من المستخدم
number = int(input("أدخل الرقم: "))

# استخدام الدالة لفحص الرقم
result = check_even_odd(number)

# عرض نتيجة الفحص
print(f"الرقم {number} هو رقم {result}.")

شرح الكود

  1. دالة للتحقق من الرقم:
    • def check_even_odd(number): دالة تقوم بتحديد ما إذا كان الرقم فرديًا أو زوجيًا باستخدام العملية الحسابية modulo.
  2. استخدام الشرط:
    • if number % 2 == 0: يتم فحص الرقم باستخدام العملية الحسابية modulo لمعرفة ما إذا كان الرقم زوجيًا.
  3. عرض النتيجة:
    • يتم عرض نتيجة الفحص باستخدام الدالة print.

مشاريع بايثون متوسطة التعقيد

مشروع بايثون 6: برنامج لإدارة المهام باستخدام بايثون

مشاريع بايثون 5
مشروع بايثون بسيط مع الكود

وصف المشروع

في هذا المشروع، سنقوم بإنشاء برنامج بسيط لإدارة المهام (To-Do List) باستخدام لغة البرمجة بايثون. سيتيح البرنامج للمستخدم إضافة مهام جديدة، عرض قائمة المهام، وحذف المهام التي تم إنجازها. يعتبر هذا المشروع مفيدًا لفهم كيفية استخدام هياكل البيانات البسيطة مثل قوائم الأشياء لإدارة البيانات.

الكود

pythonCopy code# قائمة لتخزين المهام
tasks = []

def add_task(task):
    tasks.append(task)
    print("تمت إضافة المهمة بنجاح.")

def view_tasks():
    if len(tasks) == 0:
        print("لا توجد مهام حاليًا.")
    else:
        print("قائمة المهام:")
        for index, task in enumerate(tasks, start=1):
            print(f"{index}. {task}")

def delete_task(task_index):
    if task_index >= 1 and task_index <= len(tasks):
        del tasks[task_index - 1]
        print("تم حذف المهمة بنجاح.")
    else:
        print("الرجاء إدخال رقم مهمة صحيح.")

# تشغيل البرنامج
while True:
    print("\nقائمة الأوامر:")
    print("1. إضافة مهمة جديدة")
    print("2. عرض المهام")
    print("3. حذف مهمة")
    print("4. الخروج")

    choice = input("اختر رقم الأمر الذي تريده: ")

    if choice == '1':
        task = input("أدخل المهمة الجديدة: ")
        add_task(task)
    elif choice == '2':
        view_tasks()
    elif choice == '3':
        task_index = int(input("أدخل رقم المهمة التي تريد حذفها: "))
        delete_task(task_index)
    elif choice == '4':
        print("شكرًا لاستخدامك لبرنامج إدارة المهام. وداعًا!")
        break
    else:
        print("الرجاء اختيار رقم أمر صحيح.")

شرح الكود

  1. قائمة المهام:
    • tasks = []: قائمة تخزين المهام.
  2. إضافة مهمة:
    • add_task(task): دالة لإضافة مهمة جديدة إلى قائمة المهام.
  3. عرض المهام:
    • view_tasks(): دالة لعرض قائمة المهام.
  4. حذف مهمة:
    • delete_task(task_index): دالة لحذف مهمة من قائمة المهام.
  5. تشغيل البرنامج:
    • استخدام حلقة while True لتشغيل البرنامج بشكل مستمر.
    • استخدام الشروط لتحديد الإجراء المطلوب حسب اختيار المستخدم.

مشروع بايثون 7: لعبة Tic-Tac-Toe في بايثون

مشاريع بايثون 6
مشروع بايثون بسيط مع الكود

وصف المشروع

سنقوم في هذا المشروع بإنشاء لعبة Tic-Tac-Toe بسيطة تلعب بين لاعبين على نفس الجهاز. سيتمكن اللاعبان من وضع علاماتهم (الأكس أو الدائرة) في لوحة اللعب، ويهدف كل لاعب إلى تحقيق خط من ثلاث علامات متتالية (أفقيًا، رأسيًا، أو قطريًا) أولاً للفوز. يساعد هذا المشروع في فهم كيفية استخدام هياكل البيانات مثل القوائم والشروط في البرمجة.

الكود

pythonCopy codedef print_board(board):
    for row in board:
        print(" | ".join(row))
        print("-" * 5)

def check_winner(board, player):
    for row in board:
        if all(cell == player for cell in row):
            return True

    for col in range(3):
        if all(board[row][col] == player for row in range(3)):
            return True

    if all(board[i][i] == player for i in range(3)) or all(board[i][2-i] == player for i in range(3)):
        return True

    return False

def is_board_full(board):
    return all(all(cell != ' ' for cell in row) for row in board)

def tic_tac_toe():
    board = [[' ' for _ in range(3)] for _ in range(3)]
    current_player = 'X'

    print("لعبة Tic-Tac-Toe")
    print_board(board)

    while True:
        row = int(input(f"لاعب {current_player}: اختر الصف (0, 1, 2): "))
        col = int(input(f"لاعب {current_player}: اختر العمود (0, 1, 2): "))

        if board[row][col] == ' ':
            board[row][col] = current_player
        else:
            print("هذه الخانة محجوزة. الرجاء اختيار خانة فارغة.")
            continue

        print_board(board)

        if check_winner(board, current_player):
            print(f"اللاعب {current_player} فاز!")
            break

        if is_board_full(board):
            print("تعادل!")
            break

        current_player = 'O' if current_player == 'X' else 'X'

# تشغيل اللعبة
tic_tac_toe()

شرح الكود

  1. عرض لوحة اللعب:
    • print_board(board): دالة لعرض لوحة اللعب بشكل منظم.
  2. التحقق من الفائز:
    • check_winner(board, player): دالة للتحقق من وجود فائز في اللعبة.
  3. التحقق من امتلاء اللوحة:
    • is_board_full(board): دالة للتحقق من امتلاء اللوحة دون وجود فائز.
  4. تنفيذ اللعبة:
    • دالة tic_tac_toe() تنفيذ اللعبة بتتابع حركات اللاعبين والتحقق من الفائز أو التعادل.

مشروع بايثون 8: برنامج لفرز الأرقام

مشاريع بايثون 7
مشروع بايثون بسيط مع الكود

وصف المشروع

في هذا المشروع، سنقوم بإنشاء برنامج يسأل المستخدم عن مجموعة من الأرقام، ثم يقوم بفرز هذه الأرقام من الأصغر إلى الأكبر. يساعد هذا المشروع في فهم كيفية استخدام الحلقات والشروط في بايثون لفرز وطباعة الأرقام.

الكود

pythonCopy codedef sort_numbers():
    numbers = []

    while True:
        number = input("أدخل رقمًا (أو اتركه فارغًا للفرز): ")
        if not number:
            break
        try:
            numbers.append(float(number))
        except ValueError:
            print("الرجاء إدخال رقم صحيح.")

    sorted_numbers = sorted(numbers)
    print("الأرقام المفرزة:")
    for num in sorted_numbers:
        print(num)

# تشغيل البرنامج
sort_numbers()

شرح الكود

  1. قائمة الأرقام:
    • numbers = []: قائمة لتخزين الأرقام المدخلة من المستخدم.
  2. حلقة إدخال الأرقام:
    • حلقة while True تستمر في طلب إدخال الأرقام حتى يتم ترك الإدخال فارغًا.
  3. فرز الأرقام:
    • sorted_numbers = sorted(numbers): استخدام الدالة sorted لفرز الأرقام.
  4. عرض الأرقام المفرزة:
    • استخدام حلقة for لطباعة الأرقام المفرزة من الأصغر إلى الأكبر.

مشروع بايثون 9: برنامج لتحليل النصوص

مشاريع بايثون 8
مشروع بايثون بسيط مع الكود

وصف المشروع

سنقوم في هذا المشروع بإنشاء برنامج يسأل المستخدم عن نص، ثم يقوم بتحليل هذا النص وإظهار عدد الكلمات والجمل فيه، بالإضافة إلى عدد الحروف والأحرف الفريدة. يساعد هذا المشروع في فهم كيفية استخدام الحلقات والشروط والمتغيرات في تحليل النصوص.

الكود

pythonCopy codedef analyze_text(text):
    # تحليل النص للحصول على عدد الكلمات والجمل
    words = text.split()
    sentences = text.split('.')

    num_words = len(words)
    num_sentences = len(sentences) - 1

    # تحليل النص للحصول على عدد الحروف والأحرف الفريدة
    characters = [char for char in text if char.isalnum()]
    num_characters = len(characters)
    unique_characters = set(characters)
    num_unique_characters = len(unique_characters)

    # عرض نتائج التحليل
    print(f"عدد الكلمات: {num_words}")
    print(f"عدد الجمل: {num_sentences}")
    print(f"عدد الحروف: {num_characters}")
    print(f"عدد الأحرف الفريدة: {num_unique_characters}")

# تشغيل البرنامج
text = input("أدخل النص الذي تريد تحليله: ")
analyze_text(text)

شرح الكود

  1. تحليل النص:
    • words = text.split(): تقسيم النص إلى كلمات.
    • sentences = text.split('.'): تقسيم النص إلى جمل.
  2. العدد الكلمات والجمل:
    • num_words = len(words): عدد الكلمات في النص.
    • num_sentences = len(sentences) - 1: عدد الجمل في النص.
  3. العدد الحروف والأحرف الفريدة:
    • characters = [char for char in text if char.isalnum()]: استخدام قائمة تكوينية للحروف والأحرف الفريدة.
    • num_characters = len(characters): عدد الحروف في النص.
    • unique_characters = set(characters): إنشاء مجموعة من الحروف الفريدة.
    • num_unique_characters = len(unique_characters): عدد الأحرف الفريدة في النص.
  4. عرض النتائج:
    • طباعة نتائج التحليل بشكل منظم.

مشروع بايثون 10: برنامج لتحليل البيانات

مشاريع بايثون 9
مشروع بايثون بسيط مع الكود

وصف المشروع

سنقوم في هذا المشروع بإنشاء برنامج يسأل المستخدم عن سلسلة من الأرقام، ثم يقوم بحساب المتوسط والحد الأقصى والحد الأدنى لهذه الأرقام. يساعد هذا المشروع في فهم كيفية استخدام الحلقات والشروط والمتغيرات في تحليل البيانات.

الكود

pythonCopy codedef analyze_data():
    numbers = []

    while True:
        number = input("أدخل رقمًا (أو اتركه فارغًا للتحليل): ")
        if not number:
            break
        try:
            numbers.append(float(number))
        except ValueError:
            print("الرجاء إدخال رقم صحيح.")

    if numbers:
        average = sum(numbers) / len(numbers)
        maximum = max(numbers)
        minimum = min(numbers)

        print(f"المتوسط: {average}")
        print(f"الحد الأقصى: {maximum}")
        print(f"الحد الأدنى: {minimum}")
    else:
        print("لم يتم إدخال أي بيانات.")

# تشغيل البرنامج
analyze_data()

شرح الكود

  1. قائمة الأرقام:
    • numbers = []: قائمة لتخزين الأرقام المدخلة من المستخدم.
  2. حلقة إدخال الأرقام:
    • حلقة while True تستمر في طلب إدخال الأرقام حتى يتم ترك الإدخال فارغًا.
  3. تحليل البيانات:
    • average = sum(numbers) / len(numbers): حساب المتوسط.
    • maximum = max(numbers): حساب الحد الأقصى.
    • minimum = min(numbers): حساب الحد الأدنى.
  4. عرض النتائج:
    • طباعة نتائج التحليل بشكل منظم.

مشاريع بايثون تعتمد على المكتبات الخارجية

مشروع بايثون 11: استخدام مكتبة NumPy في العمليات الحسابية

مشاريع بايثون 10
مشروع بايثون بسيط مع الكود

وصف المشروع

في هذا المشروع، سنقوم بإنشاء برنامج يستخدم مكتبة NumPy لإجراء عمليات حسابية على مصفوفتين عشوائيتين. سنقوم بإنشاء المصفوفات، ثم سنقوم بجمعهما، وضربهما، وأخيرًا سنقوم بحساب المتوسط والحد الأقصى في كل منهما. يساعد هذا المشروع في فهم كيفية استخدام مكتبة NumPy في العمليات الحسابية الأساسية.

الكود

pythonCopy codeimport numpy as np

def perform_operations():
    # إنشاء مصفوفتين عشوائيتين
    matrix1 = np.random.randint(0, 10, (3, 3))
    matrix2 = np.random.randint(0, 10, (3, 3))

    # عرض المصفوفتين
    print("المصفوفة الأولى:")
    print(matrix1)
    print("\nالمصفوفة الثانية:")
    print(matrix2)

    # جمع المصفوفتين
    sum_matrix = np.add(matrix1, matrix2)
    print("\nجمع المصفوفتين:")
    print(sum_matrix)

    # ضرب المصفوفتين
    product_matrix = np.multiply(matrix1, matrix2)
    print("\nضرب المصفوفتين:")
    print(product_matrix)

    # حساب المتوسط والحد الأقصى في كل مصفوفة
    avg_matrix1 = np.mean(matrix1)
    max_matrix1 = np.max(matrix1)
    avg_matrix2 = np.mean(matrix2)
    max_matrix2 = np.max(matrix2)

    print(f"\nالمتوسط في المصفوفة الأولى: {avg_matrix1}")
    print(f"الحد الأقصى في المصفوفة الأولى: {max_matrix1}")
    print(f"المتوسط في المصفوفة الثانية: {avg_matrix2}")
    print(f"الحد الأقصى في المصفوفة الثانية: {max_matrix2}")

# تشغيل البرنامج
perform_operations()

شرح الكود

  1. إنشاء المصفوفات:
    • matrix1 = np.random.randint(0, 10, (3, 3)): إنشاء مصفوفة عشوائية بحجم 3×3 تحتوي على أرقام بين 0 و 10.
    • matrix2 = np.random.randint(0, 10, (3, 3)): إنشاء مصفوفة عشوائية أخرى بنفس الحجم والنطاق.
  2. العمليات الحسابية:
    • np.add(matrix1, matrix2): جمع المصفوفتين.
    • np.multiply(matrix1, matrix2): ضرب المصفوفتين.
  3. حساب المتوسط والحد الأقصى:
    • np.mean(matrix1): حساب المتوسط في المصفوفة الأولى.
    • np.max(matrix1): حساب الحد الأقصى في المصفوفة الأولى.
    • العمليات نفسها تكرر للمصفوفة الثانية.
  4. عرض النتائج:
    • طباعة المصفوفتين ونتائج العمليات الحسابية بشكل منظم.

مشروع بايثون 12: استخدام مكتبة Matplotlib للرسم البياني

مشاريع بايثون 11
مشروع بايثون بسيط مع الكود

وصف المشروع

سنقوم في هذا المشروع بإنشاء برنامج يستخدم مكتبة Matplotlib لرسم بياني بسيط. سنقوم بإنشاء بيانات عشوائية ومن ثم سنقوم برسمها كمخطط خطي. يساعد هذا المشروع في فهم كيفية استخدام مكتبة Matplotlib لإنشاء رسوم بيانية للبيانات.

الكود

pythonCopy codeimport matplotlib.pyplot as plt
import numpy as np

def plot_data():
    # إنشاء بيانات عشوائية
    x = np.linspace(0, 10, 100)
    y = np.sin(x)

    # رسم المخطط
    plt.figure(figsize=(10, 6))
    plt.plot(x, y, label='sin(x)')
    plt.xlabel('x')
    plt.ylabel('sin(x)')
    plt.title('الدالة الجيبية')
    plt.legend()
    plt.grid(True)
    plt.show()

# تشغيل البرنامج
plot_data()

شرح الكود

  1. إنشاء البيانات:
    • x = np.linspace(0, 10, 100): إنشاء مجموعة من الأرقام بين 0 و 10 بخطوات متساوية لاستخدامها كقيم x.
    • y = np.sin(x): حساب قيم الجيب لكل قيمة في x للحصول على قيم y.
  2. رسم المخطط:
    • plt.figure(figsize=(10, 6)): إنشاء شكل للرسم بحجم 10×6 بوصة.
    • plt.plot(x, y, label='sin(x)'): رسم البيانات مع تسمية “sin(x)”.
    • plt.xlabel('x') و plt.ylabel('sin(x)'): تسمية محاور x و y على التوالي.
    • plt.title('الدالة الجيبية'): إضافة عنوان للمخطط.
    • plt.legend(): عرض مفتاح التسمية.
    • plt.grid(True): إضافة شبكة خلفية للمخطط.
  3. عرض الرسم:
    • plt.show(): عرض المخطط.

مشروع بايثون 13: برنامج لإدارة ملفات Excel باستخدام Pandas

مشاريع بايثون 12
مشروع بايثون بسيط مع الكود

وصف المشروع

في هذا المشروع، سنقوم بإنشاء برنامج يستخدم مكتبة Pandas لإدارة ملفات Excel. سنقوم بقراءة بيانات من ملف Excel، ثم سنقوم بتعديل هذه البيانات وحفظها في ملف Excel جديد. يساعد هذا المشروع في فهم كيفية استخدام Pandas لمعالجة البيانات من وإلى ملفات Excel.

الكود

pythonCopy codeimport pandas as pd

# قراءة البيانات من ملف Excel
data = pd.read_excel('sample.xlsx')

# عرض البيانات
print("البيانات الأصلية:")
print(data)

# تعديل البيانات
data['السعر'] = data['السعر'] * 1.1  # زيادة السعر بنسبة 10%

# عرض البيانات المعدلة
print("\nالبيانات المعدلة:")
print(data)

# حفظ البيانات المعدلة في ملف Excel جديد
data.to_excel('modified_sample.xlsx', index=False)

print("\nتم حفظ البيانات المعدلة في ملف Excel جديد.")

شرح الكود

  1. قراءة البيانات:
    • pd.read_excel('sample.xlsx'): قراءة البيانات من ملف Excel باستخدام Pandas.
  2. تعديل البيانات:
    • data['السعر'] = data['السعر'] * 1.1: زيادة قيمة السعر في كل صف بنسبة 10%.
  3. حفظ البيانات:
    • data.to_excel('modified_sample.xlsx', index=False): حفظ البيانات المعدلة في ملف Excel جديد بدون إضافة الفهرس.

مشروع بايثون 14: تطبيق ويب بسيط باستخدام Flask

مشاريع بايثون 13
مشروع بايثون بسيط مع الكود

الخطوات

تثبيت Flask:

يمكنك تثبيت Flask باستخدام هذا الكود:

 pip install Flask

إنشاء التطبيق: قم بإنشاء ملف Python جديد (مثلاً: app.py) وأضف الكود التالي:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return 'مرحبًا بك في تطبيق Flask البسيط!'

if __name__ == '__main__':
    app.run(debug=True)

تشغيل التطبيق: قم بتشغيل التطبيق بالنقر بزر الماوس الأيمن فوق ملف app.py واختيار “Run Python File in Terminal” (تشغيل ملف Python في الطرفية).

عرض التطبيق: افتح متصفح الويب وانتقل إلى http://localhost:5000/ لرؤية رسالة الترحيب.

شرح الكود

  • from flask import Flask: استيراد الكائن Flask من مكتبة Flask.
  • @app.route('/'): تعريف مسار للصفحة الرئيسية (/).
  • def index():: تعريف دالة للصفحة الرئيسية تعيد رسالة الترحيب.
  • app.run(debug=True): تشغيل التطبيق بوضع التصحيح لتسهيل إصلاح الأخطاء.

مشروع بايثون 15: لعبة باستخدام مكتبة Pygame

مشاريع بايثون 14
مشروع بايثون بسيط مع الكود

الخطوات

تثبيت Pygame:

يمكنك تثبيت Pygame باستخدام pip:

pip install pygame

إنشاء اللعبة:

  • قم بإنشاء ملف Python جديد (مثلاً: pong.py) وأضف الكود التالي:
import pygame
import random

# إعداد الشاشة
pygame.init()
screen = pygame.display.set_mode((800, 600))
pygame.display.set_caption("لعبة Pong")

# إعداد المتغيرات
ball = pygame.Rect(400, 300, 20, 20)
player = pygame.Rect(20, 250, 20, 100)
opponent = pygame.Rect(760, 250, 20, 100)
ball_speed_x = 5 * random.choice((1, -1))
ball_speed_y = 5 * random.choice((1, -1))
player_speed = 0

# الدورة الرئيسية للعبة
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_UP:
                player_speed = -5
            if event.key == pygame.K_DOWN:
                player_speed = 5
        if event.type == pygame.KEYUP:
            if event.key == pygame.K_UP or event.key == pygame.K_DOWN:
                player_speed = 0

    # تحريك اللاعب
    player.y += player_speed
    if player.top <= 0:
        player.top = 0
    if player.bottom >= 600:
        player.bottom = 600

    # تحريك الكرة
    ball.x += ball_speed_x
    ball.y += ball_speed_y
    if ball.top <= 0 or ball.bottom >= 600:
        ball_speed_y *= -1
    if ball.colliderect(player) or ball.colliderect(opponent):
        ball_speed_x *= -1

    # تحديث الشاشة
    screen.fill((0, 0, 0))
    pygame.draw.rect(screen, (255, 255, 255), player)
    pygame.draw.rect(screen, (255, 255, 255), opponent)
    pygame.draw.ellipse(screen, (255, 255, 255), ball)
    pygame.display.flip()

pygame.quit()
  1. تشغيل اللعبة:
    • قم بتشغيل اللعبة بالنقر بزر الماوس الأيمن فوق ملف pong.py واختيار “Run Python File in Terminal” (تشغيل ملف Python في الطرفية).

شرح الكود

  • يقوم الكود بإنشاء شاشة اللعبة وتحديد مواقع اللاعبين والكرة وتحريكها والتحقق من التصادمات وتحديث الشاشة.

مقالات ذات صلة:

أصعب لغات البرمجة : اليك 6 لغات برمجة صعبة

أشهر 5 لغات برمجة لسنة 2024

تعلم البرمجة من الصفر: 11 نصيحة تجعلك مبرمج محترف

المصادر:

wikipedia.org

stackoverflow.com

شارك:

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *