بسم الله الرحمن الرحيم
اللهم علّمنا ما ينفعنا وانفعنا بما علّمتنا إنك أنت العزيز الحكيم
سنتحدث في هذا الدرس عن المتغيرات المنطقية (Boolean variable) والجمل الشرطية (condition statement) وكيفية استخدامها في لغة بايثون .اللهم علّمنا ما ينفعنا وانفعنا بما علّمتنا إنك أنت العزيز الحكيم
1. المتغيرات المنطقية (Boolean variable) :
على فرض أنك تقوم بالتخطيط لرحلة تخييم مع أصدقائك، ولكنك قبل الرحيل ستقوم بسؤال نفسك بعض الأسئلة لكي تقرر إن كنت تريد أن تذهب، مثلًا ستسأل نفسك هل الجو ملائم للتخييم ؟ الإجابة عن هذا السؤال تحتمل إما نعم أو لا ، وستسأل نفسك هل لديك ما يكفي من الإمدادات ؟ أيضًا الإجابة تحتمل إما نعم أو لا , باستخدام هذه الإجابات ستقرر الذهاب أو عدم الذهاب, وهذا من أحد الأمثلة الموجودة في حياتنا اليومية.
هذه الإحتمالات تمثل بالبرمجة بمتغيرات تسمى المتغيرات المنطقية(Boolean) وهي تحتمل قيمتين فقط (true , false) وتستخدم بكثرة في الجمل الشرطية التي سيتم شرحها في درس اليوم إن شاء الله.
ملاحظة: لنتذكر سويًا بعض الدوال في السلاسل التي تعلمناها والتي تبدأ ب is مثل (isspace() , istitle() ,isupper()) نلاحظ أن إجابتها كانت (true , false) أي أنها تقوم بإرجاع قيم منطقية Boolean variable
وتعرف المتغيرات المنطقية على أنها: نوع بيانات خاص يستخدم لتمثيل قيمتين فقط هما (true , false) حيث يوجد لدينا الدالة bool() تستقبل قيم معينة وتقوم بإرجاع (true , false) حسب القيمة المعطاة , وفي ما يلي مثال على ذلك :
Python:
print(bool("shell"))
print(bool(True))
print(bool(-8.99))
print(bool(""))
print(bool(0))
print(bool(False))
print(bool(None))
Python:
True
True
True
False
False
False
False
2. الجمل الشرطية (condition statement) :
تُمكننا لغة بايثون من تنفيذ تعليمات برمجية وفقاً لشرط معين ويتم تحديده من قبل المبرمج, حيث يتم فحص الشرط في البداية وبناءًا عليه تُحدد التعليمات التي سوف ينفذها المفسر.
لنرجع قليلًا إلى مثال رحلة التخييم, بالتأكيد أنت بحاجة إلى وسيلة نقل للذهاب في هذه الرحلة ولكن نوع وسيلة النقل يعتمد على عدد الأصدقاء الذين سيكونون معك ، فلو كان عدد أصدقائك 4 أصدقاء ستكتفي بسيارتك الخاصة للذهاب في هذه الرحلة, أما إذا كان العدد أكبر فأنك تكون بحاجة إلى حافلة.
نلاحظ أن عدد الأصدقاء كان شرط لاتخاذ قرار بشأن نوع وسيلة النقل، وهناك أمثلة كثيرة من حياتنا اليومية تضعنا أمام خيارات معينة تتحقق بشروط معينة.
الآن يمكننا تعريف الجمل الشرطية على أنها جمل تستخدم لتحديد تعليمات برمجية يتم تنفيذيها إذا تحقق شرط معين وتعليمات أخرى في حال لم يتحقق الشرط
وهناك 3 أنواع للجمل الشرطية :
- جملة if الشرطية.
- جملة else الشرطية.
- جملة elif الشرطية.
لكن قبل أن نبدأ بشرح الجمل الشرطية, علينا معرفة أنه لا يمكن كتابة أي شرط دون استخدام التعابير الشرطية Conditional Expressions وهي الشروط التي تعتمد عليها الجمل الشرطية وتعتمد على تعابير رياضية logical mathematical conditions , مثل:
- يساوي (Equal (a==b
- لا يساوي (Not Equal (a!=b
- أصغر من (less than (a<b
- أصغر من أو يساوي (less than or equal (a<=b
- أكبر من (great than (a>b
- أكبر من أو يساوي (great than or equal (a>=b
الآن سنقوم بشرح الجمل الشرطية :
- الجملة الشرطية if : تتكون من الكلمة المفتاحية if متبوعة بشرط معين وبعد ذلك تأتي التعليمات التي يجب تنفيذها إذا تحقق الشرط, حيث يكون الشكل العام لجملة if كالتالي :
:if condition code to execute if condition is True # |
على سبيل المثال تخيل أنك تمتلك متجراً إلكترونياً لبيع الملابس. وتريد إنشاء برنامج لحساب تكلفة شحن طلبية للعميل, حيث تعتمد تكلفة الشحن على وزن الطلبية:
- إذا كان وزن الطلبية أقل من أو يساوي 500 جرام: تكون تكلفة الشحن 5 دنانير.
- إذا كان وزن الطلبية أكبر من 500 جرام: تكون تكلفة الشحن 10 دنانير.
Python:
weight = float(input("Enter the weight of the order (in grams): "))
if weight <= 500:
Shipping_charges = 5
if weight > 500:
Shipping_charges = 10
print(f"Shipping charges:{Shipping_charges}$")
المخرجات:
Python:
Enter the weight of the order (in grams): 550
Shipping charges:10$
- الجملة الشرطية else : تتكون من الكلمة المفتاحية else ولا تحتاج إلى شرط بعدها، ويتم تنفيذها في حال لم يتحقق شرط جملة if الشرطية, حيث يكون الشكل العام لجملة else كالتالي :
:if condition code to execute if condition is True # :else code to execute if condition is False # |
على سبيل المثال, يمكن استخدام جملة الـ else للتحقق مما إذا كانت درجة الحرارة أقل أو أكبر من 25 درجة مئوية بحيث إذا كانت أكبر من 25 تكون درجة الحرارة عالية ويتم طباعة (It's a hot day!) عدا ذلك يتم طباعة (It's not very hot today.)
Python:
temperature = 30
if temperature > 25:
print("It's a hot day!")
else:
print("It's not very hot today.")
Python:
It's a hot day!
- الجملة الشرطية elif: تتكون من الكلمة المفتاحية elif متبوعة بشرط محدد وتأتي بعدها التعليمات البرمجية التي يتم تنفيذها إذا تحقق هذا الشرط.
نحتاج إلى استخدام هذه الجملة بالتحديد عندما يكون من الممكن أن تتحقق شروط أخرى عدا شرط جملة if, ويمكن فهم الجملة كالتالي: إذا كان condition1 صحيحًا، فقم بتنفيذ التعليمات البرمجية الخاصة بجملةif ، وإذا لم يتحقق condition1، فتحقق من condition2، إذا كان هذا الشرط صحيحًا، فقم بتنفيذ التعليمات البرمجية الخاصة بجملة elif ويمكن وضع أكثر من جملة elif وأخيرًا نقوم بوضع جملة else في حال لم يتم تنفيذ أي من الشروط السابقة, حيث يكون الشكل العام لجملة elif كالتالي :
:if condition (1) code to execute if condition (1) is True # :elif condition (2) code to execute if condition (2) is True # :elif condition (3) code to execute if condition (3) is True # ... :else code to execute if any condition is not met # |
مثلًا في الجامعات يتم تقييم علامة الطلاب في المساقات كما يلي:
- إذا كانت العلامة 90 فما فوق فأنه ينال العلامة "A"
- إذا كانت العلامة 80 فما فوق فأنه ينال العلامة "B"
- إذا كانت العلامة 70 فما فوق فأنه ينال العلامة "C"
- إذا كانت العلامة 60 فما فوق فأنه ينال العلامة "D"
- عدا ذلك ينال العلامة "F"
Python:
grade = 85
if grade >= 90:
print("A")
elif grade >= 80:
print("B")
elif grade >= 70:
print("C")
else:
print("F")
Python:
B
قد نحتاج في بعض الأحيان إلى استخدام أكثر من شرط لتنفيذ جملة واحدة،مثلًا عند دخولك إلى أحد مواقع التواصل الإجتماعي الخاصة بك فإنه بدايةً يطلب منك اسم حسابك وكلمة السر الخاصة بك، أي هناك شرطين للدخول إلى الموقع , ولهذا السبب لابد من وجود بعض الكلمات تربط هذه الشروط ببعضها, وتسمى المعاملات المنطقية (Boolean logic {and , or , not}) , وهي معاملات تستخدم لتحديد العلاقة بين الشروط في جملة "if" أو لبناء شروط معقدة , وهي:1. And: تُستخدم للجمع بين العبارات الشرطية, حيث يجب أن يتحقق جميع الشروط ليتم تنفيذ التعليمات البرمجية.
2. Or: تُستخدم للجمع بين العبارات الشرطية, حيث يتم تنفيذ التعليمات البرمجية إذا تحقق شرط وحد على الأقل من الشروط الموضوعة.
3. Not: تُستخدم لعكس نتيجة العبارة الشرطية, أي تقوم بتحويل القيمة الصحيحة إلى قيمة خاطئة والعكس صحيح.
Python:
a = 200
b = 33
c = 500
if a > b and c > a:
print("Both conditions are True")
if a > b or a > c:
print("At least one of the conditions is True")
if not a > b:
print("a is NOT greater than b")
1. إذا كان لديك عبارة واحدة فقط تريد تنفيذها، فيمكنك وضعها في نفس سطر عبارة if وتسمى هذه الطريقة بـ Short Hand If كما يمكنك فعل نفس الشيء في حالة if else وتسمى هذه الطريقة بـ Short Hand if else
Python:
if a > b: print("a is greater than b")
####################################
a = 2
b = 330
print("A") if a > b else print("B")
Python:
a = 330
b = 330
print("A") if a > b else print("=") if a == b else print("B")
2. عبارة if ليس من الممكن أن تكون فارغة، ولكن لسبب ما أردت أن تكون بدون محتوى، فضع عبارة pass لتجنب الحصول على خطأ.
Python:
a = 33
b = 200
if b > a:
pass
3. يمكن أن يكون لديك عبارات if داخل عبارات if، وهذا ما يسمى عبارات if المتداخلة, كما في المثال التالي:
Python:
x = 41
if x > 10:
print("Above ten,")
if x > 20:
print("and also above 20!")
else:
print("but not above 20.")
تدريب (1 ): اجعل المستخدم يقوم بإدخال علامة طالب ,فإذا كانت القيمة أعلى من أو تساوي 50 يجب أن يقوم البرنامج بإعطاء جملة طباعة تحتوي على كلمة passed , أما إذا كانت أقل من 50 يجب أن يقوم البرنامج بإعطاء جملة طباعة تحتوي على كلمة Failed
تدريب(2): لديك المعادلة الرياضية التالية: السرعة = المسافة/الزمن
إذا كانت المسافة المقطوعة هي x خلال زمن مقداره 1 ساعة، قم بإنشاء برنامج يقوم بحساب سرعة مركبة بناءًا على المسافة المُدخلة إليه.
ملاحظة: إذا كانت السرعة الناتجة أكبر من أو تساوي 100 كم/ساعة, قم بإخبار المستخدم أنه يجب عليه تخفيض سرعته , وإذا كانت أقل أخبره أن سرعته مناسبة.
إذا كانت المسافة المقطوعة هي x خلال زمن مقداره 1 ساعة، قم بإنشاء برنامج يقوم بحساب سرعة مركبة بناءًا على المسافة المُدخلة إليه.
ملاحظة: إذا كانت السرعة الناتجة أكبر من أو تساوي 100 كم/ساعة, قم بإخبار المستخدم أنه يجب عليه تخفيض سرعته , وإذا كانت أقل أخبره أن سرعته مناسبة.
وهُنا نكون قد وصلنا إلى نهاية درسنا بحمدلله وفضله
دُمتم بحفظ الله ورعايته
دُمتم بحفظ الله ورعايته