الدرس 4 من 10
الجمل الشرطية
- 12 دقيقة
- 4 فحوص
- 3 تلميحات
- إلى المطلوب
هدف الدرس
التفرّع بـ if وelif والقيم الفارغة
الشرح
الكلمة if تنفّذ الأسطر التابعة لها إذا كان شرطها صحيحًا، وelif تفحص شرطًا آخر إذا لم يتحقّق ما قبلها، وelse تتولّى كل ما بقي. وتعرف Python الأسطر التابعة للشرط من إزاحتها، أي من المسافات الأربع في بدايتها تحت السطر الذي ينتهي بنقطتين.
وتفحص Python الفروع بالترتيب، فتنفّذ أول فرع يتحقّق شرطه وتتجاوز الباقي، ولهذا يؤثّر الترتيب في النتيجة، فلو بدأت بـ score >= 50 لصارت كل درجة من 50 فأكثر «مقبول»، ولن يصل أحد إلى «ممتاز».
ويمكنك أن تجمع الشروط بـ and (يجب أن يتحقّق الاثنان) وor (يكفي أن يتحقّق أحدهما) وnot (لعكس الشرط). والقيم الفارغة مثل "" و0 والقائمة الفارغة وNone تُحسب في الشرط خاطئة كأنها False، لذلك يكفي أن تكتب if name: بدل if name != "":. وانتبه إلى خطأ مشهور هنا، فالشرط if city == "جدة" or "مكة": صحيح دائمًا لأن "مكة" وحده نصّ غير فارغ، والصواب أن تكتب city == "جدة" or city == "مكة".
المطلوب
ضع في grade تقدير score: «ممتاز» من 90 فأكثر، و«جيد» من 75، و«مقبول» من 50، و«راسب» لما دون ذلك. واجعل certified صحيحًا فقط إذا نجح الطالب (50 فأكثر) وكانت نسبة حضوره 0.75 فأكثر. أما display_name فقيمته name، أو «مجهول» إذا كان name فارغًا.
الفحوص
4 فحوص- قيمة grade هي «جيد» للدرجة 78
- التصنيف بسلسلة if وelif وليس بقيمة مكتوبة مباشرة
- المتغيّر certified يشترط النجاح والحضور معًا
- الاسم الفارغ يظهر «مجهول»