اختبار الأساسيات
Basics Quiz
اختبار الأساسيات — Basics Quiz
هذا اختبار عملي، ليس اختبار حفظ. اقرأ كل سؤال، عدّل الكود، وتحقق من الناتج. إذا عرفت لماذا تعمل الإجابة — لا فقط أنها تعمل — فأنت جاهز للانتقال للفصل القادم.
قبل أن تبدأ، تذكّر: الاختبار يراجع خمسة مواضيع من هذا الفصل — المتغيرات والأنواع، النصوص و f-strings، التحكم في التدفق، الدوال، والتكامل. كل سؤال يختبر موضوعاً واحداً منها. لا تنتقل للسؤال التالي بمجرد أن يظهر الناتج الصحيح؛ اقرأ الحل واسأل نفسك: هل استخدمت الأداة الصحيحة؟ هل الاسم واضح؟ هل يوجد طريقة أبسط؟
هذا مثال سريع يذكرك بشكل الحلول المطلوبة — حساب واضح وطباعة مستقرة:
في الاختبارات العملية، الاستقرار مهم. إذا كان التحدي يتوقع نصاً محدداً فالمسافات وعلامات الترقيم جزء من الإجابة. هذا ليس تشدداً — البرامج التي تطبع تقارير أو ترسل رسائل API تحتاج تنسيقاً ثابتاً حتى يعتمد عليها المستخدم.
السؤال 1: المتغيرات والأنواع والحساب
استخدم المتغيرات والتحويل بين الأنواع لحساب مساحة غرفة بالمتر المربع.
بعد حل السؤال الأول، لاحظ لماذا نطلب float بدلاً من int. في الواقع لو كانت أبعاد الغرفة 4.5 × 3.2 لن تستطيع استخدام int. الأفضل استخدام float من البداية لأي قياس فيزيائي.
السؤال 2: النصوص و f-strings
بناء نص تعريفي من بيانات منفصلة.
في هذا السؤال، لاحظ أننا نريد ريم الشهري — اسم مُركّب من متغيرين. f-string تتيح دمجهما داخل {} مباشرة. هذا أنظف من بناء متغير وسيط full_name ثم استخدامه.
السؤال 3: التحكم في التدفق
استخدم حلقة وشرط لتحديد تصنيف درجات الحرارة.
عندما تنتهي، اقرأ الكود وتأكد أن ترتيب الشروط منطقي. لو قلبت الترتيب وكتبت if temp < 30 أولاً ثم if temp < 20، سيصنّف 15 درجة كـ “معتدل” وليس “بارد”. ترتيب if/elif/else دائماً مهم.
السؤال 4: الدوال
عرّف دالة تحسب العمولة وارجع نتيجة منسّقة.
في هذا السؤال، لاحظ أن الدالة ترجع قيمة وليس تطبع. main هي من تطبع. هذا الفصل يُتيح لك استخدام نفس دالة commission لاحقاً في سياق مختلف — ربما لحساب ضريبة العمولة أو مقارنة عروض عمل مختلفة — دون تعديلها.
السؤال 5: التكامل — Variables + Strings + Control Flow + Functions
الاختبار النهائي: دمج كل المهارات في مسألة صغيرة متكاملة.
كيف تراجع إجاباتك
راجع كل حل من ثلاث زوايا:
أولاً: هل ينتج النص المتوقع حرفياً؟ لا تتجاهل الفراغات وعلامات الترقيم.
ثانياً: هل استخدمت الأداة الصحيحة؟ متغير حيث تحتاج تخزين قيمة، f-string حيث تحتاج تنسيق، if/elif/else حيث تحتاج قرار، for حيث تحتاج تكرار، دالة حيث تحتاج إعادة استخدام.
ثالثاً: هل الأسماء تشرح النية؟ commission أوضح من c. temperatures أوضح من t. الأسماء الواضحة تجعل الكود قابلاً للقراءة بعد أسابيع — ليس فقط الآن.
إذا أخطأت، لا تمسح الحل كله. شغّل الكود، اقرأ الخطأ، وعدّل أصغر جزء ممكن. Python تعطيك رسائل خطأ دقيقة — NameError يعني استخدمت متغيراً غير معرّف، IndentationError يعني مشكلة في المسافة البادئة، TypeError يعني استخدمت نوعاً خاطئاً.
مراجعة سريعة
إذا تعثّرت في سؤال، ارجع للدرس المرتبط:
- المتغيرات والأنواع (py-02-01): عندما تحتاج معرفة نوع البيانات المناسب أو التحويل بين الأنواع.
- النصوص و f-strings (py-02-02): عندما تحتاج دمج متغيرات في نص أو تنسيق أرقام بدقة محددة.
- التحكم في التدفق (py-02-03): عندما يختلف السلوك بناءً على شرط أو تحتاج تكرار عملية.
- الدوال (py-02-04): عندما ترى كوداً متكرراً أو حساباً يحتاج اسماً يصف نيّته.
إتقان هذه الأربعة يكفيك للانطلاق في أي مشروع Python حقيقي. الفصول القادمة — القوائم والقواميس والبرمجة الكائنية — تبني فوق هذه الأساسيات، ولن تحتاج تحفظ مفاهيم جديدة بقدر ما ستحتاج تطبيق ما تعلمته هنا في سياقات أكثر تعقيداً.