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

إنشاء تطبيق اختبار باستخدام لغة بايثون: دليل خطوة بخطوة

تم النشر بتاريخ 2024-11-08
تصفح:488

Building a Quiz App Using Python: A Step-by-Step Guide

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

ما الذي سيفعله تطبيق الاختبار الخاص بنا

سيقوم تطبيق الاختبار الخاص بنا بما يلي:

  1. طرح أسئلة متعددة الخيارات
  2. متابعة النتيجة
  3. تحديد حد زمني لكل سؤال
  4. تناول مواضيع مختلفة

دعونا نقسمها خطوة بخطوة!

سأستخدم اسم مجموعة الأدوات Tkinter.

قم أولاً بإعداد Tkinter لتطبيق الاختبار الخاص بك

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

لمستخدمي ويندوز

  1. عادةً ما يأتي Tkinter مثبتًا مسبقًا مع Python على نظام التشغيل Windows. للتأكد من تثبيته:

    • فتح موجه الأوامر
    • اكتب python -m tkinter ثم اضغط على Enter
    • إذا ظهرت نافذة صغيرة، فهذا يعني أن Tkinter مثبت ويعمل
  2. إذا لم يتم تثبيت Tkinter:

    • تحميل لغة بايثون من الموقع الرسمي (https://www.python.org/downloads/)
    • أثناء التثبيت، تأكد من تحديد المربع الذي يقول "tcl/tk and IDLE"
    • إكمال التثبيت

لمستخدمي ماك

  1. عادةً ما يأتي Tkinter مثبتًا مسبقًا مع Python على نظام التشغيل macOS. للتحقق:

    • فتح المحطة
    • اكتب python -m tkinter ثم اضغط على Enter
    • إذا ظهرت نافذة صغيرة، فهذا يعني أن Tkinter مثبت ويعمل
  2. إذا لم يتم تثبيت Tkinter:

    • قم بتثبيت Homebrew إذا لم تكن قد قمت بذلك بالفعل (تفضل بزيارة https://brew.sh/ للحصول على التعليمات)
    • في الوحدة الطرفية، قم بتشغيل: Brew install python-tk

لمستخدمي لينكس

  1. قد لا يتم تثبيت Tkinter مسبقًا على جميع توزيعات Linux. للتثبيت:

    • بالنسبة إلى Ubuntu أو Debian: ```

    سودو الرابطة بين الحصول على التحديث
    سودو الرابطة بين الحصول على تثبيت python3-tk

   - For Fedora:
     ```


     sudo dnf install python3-tkinter


  • لنظام Arch Linux:

    
     sudo pacman -S tk
    
2. To verify the installation:
   - Open Terminal
   - Type `python -m tkinter` and press Enter
   - If a small window appears, Tkinter is installed and working

## Verifying Tkinter in Your Python Environment

After installation, you can verify Tkinter in your Python environment:

1. Open your Python interpreter (type `python` in your command line)
2. Try importing Tkinter:
   ```python


   import tkinter as tk


  1. في حالة عدم حدوث أي خطأ، تم تثبيت Tkinter بنجاح

الخطوة 1: إعداد مشروعنا

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

الخطوة 2: إنشاء أسئلتنا

سنبدأ بإنشاء قائمة بالأسئلة. سيكون كل سؤال عبارة عن قاموس يحتوي على نص السؤال واختيارات الإجابة والإجابة الصحيحة والموضوع.

إليك كيفية إعداد ذلك:


# List of questions
questions = [
    {
        "question": "What is the capital of France?",
        "choices": ["London", "Berlin", "Paris", "Madrid"],
        "correct_answer": "Paris",
        "topic": "Geography"
    },
    {
        "question": "Who painted the Mona Lisa?",
        "choices": ["Vincent van Gogh", "Leonardo da Vinci", "Pablo Picasso", "Claude Monet"],
        "correct_answer": "Leonardo da Vinci",
        "topic": "Art"
    },
    # Add more questions here...
]


الخطوة 3: إنشاء وظيفة الاختبار

الآن، لنقم بإنشاء دالة ستُجري الاختبار:


import random
import time

def run_quiz(questions, time_limit=10):
    score = 0
    total_questions = len(questions)

    # Shuffle the questions to make the quiz more interesting
    random.shuffle(questions)

    for q in questions:
        print(f"\nTopic: {q['topic']}")
        print(q['question'])

        # Print answer choices
        for i, choice in enumerate(q['choices'], 1):
            print(f"{i}. {choice}")

        # Start the timer
        start_time = time.time()

        # Get user's answer
        while True:
            user_answer = input(f"\nYour answer (1-{len(q['choices'])}): ")
            if user_answer.isdigit() and 1  time_limit:
            print("Time's up!")
        else:
            # Check if the answer is correct
            if q['choices'][int(user_answer)-1] == q['correct_answer']:
                print("Correct!")
                score  = 1
            else:
                print(f"Sorry, the correct answer was: {q['correct_answer']}")

        print(f"Time taken: {time.time() - start_time:.2f} seconds")

    # Print final score
    print(f"\nQuiz complete! Your score: {score}/{total_questions}")

# Run the quiz
run_quiz(questions)


دعونا نحلل ما يفعله هذا الرمز:

  1. نقوم باستيراد الوحدة العشوائية لخلط أسئلتنا والوقت للتعامل مع الحد الزمني.
  2. تأخذ وظيفة run_quiz الخاصة بنا قائمة الأسئلة وحدًا زمنيًا اختياريًا (الافتراضي هو 10 ثوانٍ).
  3. نقوم بتبديل الأسئلة عشوائيًا لجعل كل اختبار فريدًا.
  4. لكل سؤال:
    • نطبع الموضوع والسؤال.
    • نعرض اختيارات الإجابة.
    • نبدأ الموقت.
    • نحصل على إجابة المستخدم، ونتأكد من صحتها.
    • نتحقق مما إذا كان الوقت قد انتهى.
    • إذا لم يكن الأمر كذلك، فإننا نتحقق مما إذا كانت الإجابة صحيحة ونقوم بتحديث النتيجة.
    • نعرض المدة التي استغرقها المستخدم للإجابة.
  5. وفي النهاية، نقوم بطباعة النتيجة النهائية.

الخطوة 4: تشغيل تطبيق الاختبار الخاص بنا

لإجراء الاختبار، نحتاج فقط إلى استدعاء وظيفة run_quiz مع أسئلتنا:


if __name__ == "__main__":
    run_quiz(questions)


يتأكد هذا السطر من تشغيل الاختبار الخاص بنا فقط إذا كنا نقوم بتشغيل هذا الملف مباشرة (وليس استيراده من مكان آخر).

خاتمة

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

تعليمات سعيدة!

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/ratan_3511/building-a-quiz-app-using-python-a-step-by-step-guide-2j25?1 إذا كان هناك أي انتهاك، فيرجى الاتصال بـ Study_golang @163.com حذف
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3