4.1 القيم المنطقية
أهداف التعلم
في نهاية هذا القسم، ينبغي أن تكون قادرًا على:
- شرح قيمة منطقية.
- استخدام مُتغيِّرات من نوع
boolلتخزين القيم المنطقية. - توضيح كيفية تحويل الأعداد الصحيحة، والأعداد العشرية، والسلاسل النصية إلى قيم منطقية.
- توضيح كيفية تحويل القيم المنطقية إلى أعداد صحيحة، وأعداد عشرية، وسلاسل نصية.
- استخدام عوامل المقارنة لمقارنة الأعداد الصحيحة، والأعداد العشرية، والسلاسل النصية.
نوع البيانات bool
غالبًا ما يطرح الناس أسئلة ثنائية مثل أسئلة نعم/لا أو صواب/خطأ. مثال: «هل تحب الأناناس على البيتزا؟» أو «صواب أم خطأ: أنا أحب الأناناس على البيتزا.» الإجابة هي قيمة منطقية، مما يعني أن القيمة إما صواب أو خطأ. يمثل نوع منطقي (bool)، الذي يرمز إلى المنطق (Boolean)، قيمة ثنائية إما صواب أو خطأ. True و False كلمتان محجوزتان، وتُكتبان بحرف أول كبير.
مفاهيم تطبيقية
استخدام المُتغيِّرات المنطقية
تأمل الشِفرة التالية:
is_fruit = "True"
is_vegetable = 0
is_dessert = False
تحويل الأنواع باستخدام bool()
تحديد ما إذا كانت القيمة صوابًا أم خطأ مفيدٌ عند كتابة برامج تتخذ قرارات. قد يبدو تحويل أنواع البيانات إلى قيم منطقية غير بديهي في البداية — مثلاً: هل "ice cream" تساوي True؟ — إلا أنه في الواقع بسيطٌ ومباشر.
تُحوِّل bool() القيمةَ إلى قيمة منطقية، True أو False.
True: أي عدد غير صفري، أي سلسلة نصية غير فارغةFalse: 0، سلسلة نصية فارغة
مفاهيم تطبيقية
تحويل الأنواع العددية والسلاسل النصية إلى قيم منطقية
مفاهيم تطبيقية
تحويل القيم المنطقية إلى أنواع عددية وسلاسل نصية
بالنظر إلى is_on = True، ما قيمة كل تعبير؟
عوامل المقارنة
غالبًا ما يتعين على المبرمجين الإجابة على أسئلة مثل "هل المستخدم الحالي هو المسؤول؟" قد يرغب المبرمج في مقارنة مُتغيِّر سلسلة نصية، user، بالسلسلة النصية "admin". تُستخدم عوامل المقارنة لمقارنة القيم، وتكون النتيجة إما صوابًا أو خطأ. مثال: is_admin = (user == "admin"). تُقارن user مع "admin" باستخدام العامل ==، الذي يختبر المساواة. يُسند للمُتغيِّر المنطقي، is_admin، النتيجة المنطقية.
عوامل المقارنة الستة:
- يساوي: ==
- لا يساوي: !=
- أكبر من: >
- أصغر من: <
- أكبر من أو يساوي: >=
- أصغر من أو يساوي: <=
مفاهيم تطبيقية
مقارنة القيم
لكل مُتغيِّر جديد، ما هي قيمة compare_result؟
= مقابل ==
خطأ شائع هو استخدام = للمقارنة بدلاً من ==. مثال: is_zero = num=0 سيُسند دائمًا القيمة 0 إلى is_zero و num، بغض النظر عن القيمة الأصلية للمُتغيِّر num. يقوم العامل = بعملية الإسناد وسيعدّل المُتغيِّر. يقوم العامل == بعملية المقارنة، ولا يعدّل المُتغيِّر، وينتج True أو False.
للاستزادة
جرّب بنفسك
قيمة منطقية ليوم الجمعة
"إنه الجمعة، أنا في حالة حب" —من أغنية "Friday I'm in Love" التي أصدرتها فرقة The Cure عام 1992.
اكتب برنامجًا يقرأ يوم الأسبوع. أسند للمُتغيِّر المنطقي، in_love، نتيجة ما إذا كان اليوم هو الجمعة أم لا.
جرّب بنفسك
الأعداد الزوجية
اكتب برنامجًا يقرأ عددًا صحيحًا ويطبع ما إذا كان العدد الصحيح زوجيًا أم لا. تذكر أن العدد يكون زوجيًا إذا كان قابلاً للقسمة على 2. لاختبار ذلك، استخدم number % 2 == 0. مثال: إذا كان الإدخال هو 6، فإن الإخراج هو "6 is even: True".