شرح درس المعاملات الشرطية والمعاملات المنطقية في بايثون ثاني متوسط الفصل الأول
المقارنة في بايثون تنتج دائمًا قيمة منطقية واحدة، إما True وإما False، ويمكن ربط عدة مقارنات معًا بالمعاملات المنطقية and وor وnot.

أهداف الدرس
- يوضح معنى النوع المنطقي True وFalse.
- يستخدم معاملات المقارنة في كتابة تعبيرات صحيحة بلغة بايثون.
- يميّز بين = للإسناد و== للمقارنة.
- يطبّق المعاملات المنطقية and وor وnot ويقرأ جداول الصواب.
المفهوم الأساسي
المقارنة في بايثون تنتج دائمًا قيمة منطقية واحدة، إما True وإما False، ويمكن ربط عدة مقارنات معًا بالمعاملات المنطقية and وor وnot.
شرح الدرس
حين يراجع معلمك درجتك يسأل نفسه: هل الدرجة أكبر من الحد الأدنى للنجاح؟ الجواب إما «نعم» وإما «لا». وبايثون تفعل الشيء نفسه، فتجيب عن كل مقارنة بإحدى كلمتين فقط.
النوع المنطقي
النوع المنطقي (Boolean) لا يحمل إلا قيمتين: True أي صحيح، وFalse أي خطأ. يجب كتابتهما بحرف أول كبير كما هما.
«كل مقارنة في بايثون تنتج True أو False»
True وFalse ليسا نصين، ولذلك لا نضع حولهما علامتي اقتباس.
معاملات المقارنة
هذه المعاملات تقارن بين قيمتين:
- ==: هل القيمتان متساويتان؟
- !=: هل القيمتان مختلفتان؟
- >: هل الأولى أكبر من الثانية؟
- <: هل الأولى أصغر من الثانية؟
- >=: هل الأولى أكبر من الثانية أو تساويها؟
- <=: هل الأولى أصغر من الثانية أو تساويها؟
لنجرب مع درجة طالب في اختبار:
score = 85
print(score > 50)
print(score == 100)
print(score != 85)
print(score >= 85)
print(score < 60)
print(score <= 90)وهذا هو ناتج تشغيل البرنامج:
# نص
True
False
False
True
False
Trueالعلامة = تعني «ضع القيمة في المتغير»، أما == فتعني «هل هما متساويان؟». كتابة score = 85 تخزّن القيمة، وكتابة score == 85 تسأل عنها.
المعاملات المنطقية
نستخدمها لدمج أكثر من مقارنة في سؤال واحد:
- and: تكون النتيجة True إذا تحققت المقارنتان معًا.
- or: تكون النتيجة True إذا تحققت إحداهما على الأقل.
- not: تعكس القيمة، فتحوّل True إلى False والعكس.
مثال: طالب عمره ١٤ سنة ومعه بطاقة دخول إلى معرض الكتاب:
age = 14
has_card = True
print(age >= 12 and has_card)
print(age < 12 or has_card)
print(not has_card)وناتجه:
# نص
True
True
Falseجداول الصواب
جدول and: لا تكون النتيجة True إلا إذا كان الطرفان True. وجدول or: لا تكون النتيجة False إلا إذا كان الطرفان False.
- True and True: النتيجة True.
- True and False: النتيجة False.
- False and False: النتيجة False.
- True or False: النتيجة True.
- False or False: النتيجة False.
ابدأ بحل كل مقارنة وحدها، ثم اجمع النتائج بالمعامل المنطقي.
مقارنة من إدخال المستخدم
الدالة input() تعيد نصًّا دائمًا، لذلك نحوّله إلى عدد بـint() قبل المقارنة:
grade = int(input("أدخل درجتك: "))
print("هل نجحت؟", grade >= 50)إذا أدخل الطالب ٧٢ فسيطبع البرنامج: هل نجحت؟ True
نشاط تعليمي
التطبيق الأول
افترض أن x = 10. اكتب ناتج كل تعبير: x > 3 وx == 5 وx != 5.
True ثم False ثم True.
أن يقرأ الطالب نتيجة معاملات المقارنة.
التدريب الثاني
افترض أن a = True وb = False. ما ناتج a and b وa or b وnot b؟
False ثم True ثم True.
أن يطبّق الطالب المعاملات المنطقية.
المسألة الثالثة
اكتب تعبيرًا يكون True إذا كانت درجة الطالب mark بين ٦٠ و١٠٠ بالتضمين.
mark >= 60 and mark <= 100.
أن يدمج الطالب مقارنتين بـand.
ملاحظات مهمة
- 1ناتج المقارنة قيمة منطقية: True أو False.
- 2علامة = للإسناد، وعلامة == للمقارنة.
- 3and تحتاج تحقق الشرطين، وor يكفيها تحقق أحدهما.
- 4نحوّل الإدخال بـint() قبل مقارنته بعدد.
أخطاء شائعة
- ✗ خطأكتابة if x = 5 أو print(x = 5) عند قصد المقارنة.✓ الصواب: نستخدم == للمقارنة، مثل print(x == 5).
- ✗ خطأكتابة true أو false بحرف صغير.✓ الصواب: نكتبهما True وFalse بحرف أول كبير.
+عرض جميع الأخطاء (3) ←إخفاء الأخطاء الإضافية
- ✗ خطأمقارنة نص قادم من input() بعدد دون تحويل.✓ الصواب: نستخدم int() أولًا.
ملخص الدرس
- النوع المنطقي له قيمتان فقط: True وFalse.
- معاملات المقارنة هي == و!= و> و< و>= و<=.
- = تخزّن قيمة و== تقارن.
- and وor وnot تجمع المقارنات أو تعكسها.
هل أتقنت الدرس؟اختبر نفسك من خلال اختبار قصير من عدة أسئلة.