AzLearn

اختبار الأساسيات

Basics Quiz

اختبار ~20 دقيقة

اختبار الأساسيات — Basics Quiz

هذا اختبار عملي، ليس اختبار حفظ. اقرأ كل سؤال، عدّل الكود، وتحقق من الناتج. إذا عرفت لماذا تعمل الإجابة — لا فقط أنها تعمل — فأنت جاهز للانتقال للفصل القادم.

قبل أن تبدأ، تذكّر: الاختبار يراجع خمسة مواضيع من هذا الفصل — المتغيرات والأنواع، النصوص و f-strings، التحكم في التدفق، الدوال، والتكامل. كل سؤال يختبر موضوعاً واحداً منها. لا تنتقل للسؤال التالي بمجرد أن يظهر الناتج الصحيح؛ اقرأ الحل واسأل نفسك: هل استخدمت الأداة الصحيحة؟ هل الاسم واضح؟ هل يوجد طريقة أبسط؟

هذا مثال سريع يذكرك بشكل الحلول المطلوبة — حساب واضح وطباعة مستقرة:

main.go

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

السؤال 1: المتغيرات والأنواع والحساب

استخدم المتغيرات والتحويل بين الأنواع لحساب مساحة غرفة بالمتر المربع.

تحدي — Challenge

بعد حل السؤال الأول، لاحظ لماذا نطلب float بدلاً من int. في الواقع لو كانت أبعاد الغرفة 4.5 × 3.2 لن تستطيع استخدام int. الأفضل استخدام float من البداية لأي قياس فيزيائي.

السؤال 2: النصوص و f-strings

بناء نص تعريفي من بيانات منفصلة.

تحدي — Challenge

في هذا السؤال، لاحظ أننا نريد ريم الشهري — اسم مُركّب من متغيرين. f-string تتيح دمجهما داخل {} مباشرة. هذا أنظف من بناء متغير وسيط full_name ثم استخدامه.

السؤال 3: التحكم في التدفق

استخدم حلقة وشرط لتحديد تصنيف درجات الحرارة.

تحدي — Challenge

عندما تنتهي، اقرأ الكود وتأكد أن ترتيب الشروط منطقي. لو قلبت الترتيب وكتبت if temp < 30 أولاً ثم if temp < 20، سيصنّف 15 درجة كـ “معتدل” وليس “بارد”. ترتيب if/elif/else دائماً مهم.

السؤال 4: الدوال

عرّف دالة تحسب العمولة وارجع نتيجة منسّقة.

تحدي — Challenge

في هذا السؤال، لاحظ أن الدالة ترجع قيمة وليس تطبع. main هي من تطبع. هذا الفصل يُتيح لك استخدام نفس دالة commission لاحقاً في سياق مختلف — ربما لحساب ضريبة العمولة أو مقارنة عروض عمل مختلفة — دون تعديلها.

السؤال 5: التكامل — Variables + Strings + Control Flow + Functions

الاختبار النهائي: دمج كل المهارات في مسألة صغيرة متكاملة.

تحدي — Challenge

كيف تراجع إجاباتك

راجع كل حل من ثلاث زوايا:

أولاً: هل ينتج النص المتوقع حرفياً؟ لا تتجاهل الفراغات وعلامات الترقيم.

ثانياً: هل استخدمت الأداة الصحيحة؟ متغير حيث تحتاج تخزين قيمة، 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 حقيقي. الفصول القادمة — القوائم والقواميس والبرمجة الكائنية — تبني فوق هذه الأساسيات، ولن تحتاج تحفظ مفاهيم جديدة بقدر ما ستحتاج تطبيق ما تعلمته هنا في سياقات أكثر تعقيداً.