Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Python
Code

تجديد لمعلوماتك عن العبارات الشرطية فى بايثون

by
Difficulty:BeginnerLength:ShortLanguages:
This post is part of a series called A Smooth Refresher To Python.
A Smooth Refresher on Python's Tuples
A Smooth Refresher on Python's Loops

Arabic (العربية/عربي) translation by Mohammed Diaa (you can also view the original English article)

الحياة ما هى إلا مجموعة من القرارات، والبرامج كذلك. في نهاية المطاف إننا نبرمج من أجل تحسين الحياة. لذا يجب أن نأخذ بالاعتبار مسألة اتخاذ القرارات فى البرامج.

هنا يأتى دور العبارات الشرطية conditional statements. حيث تساعدنا فى اتخاذ القرارات عن طريق التحكم المنطقى فى البرامج. الجمل الشرطية فى بايثون هى: if و elif و else.

لكن، ماذا تفعل الجمل الشرطية؟ إنها تقوم ببساطة بالتحقق إذا كانت جملة (شرط test) صحيحة true أم خاطئة false، وبناءًا على النتيجة تقوم باتخاذ القرار.

البرامج المتشعبة Branching Programs.

على عكس البرامج المستقيمة straight-line programs حيث يتم تنفيذ العبارات البرمجية بنفس الترتيب الذى تظهر به، البرامج المتشعبة branching programs تمكنا من الانتقال إلى العبارات بغض النظر عن الترتيب، لكن على حسب القرار. تعتبر العبارات الشرطية السابق ذكرها هى هذا النوع من البرامج، على اعتبار أن العبارات الشرطية تم تنفيذها، يتم استكمال تنفيذ الكود التالى للجملة الشرطية.

بنية العبارة الشرطية

فى هذا القسم سأصف مكونات الجملة الشرطية. تتكون الجمل الشرطية بكل بساطة من الأجزاء الرئيسية الآتية:

  • شرط إما أن يكون صحيح true أو خاطئ false
  • كود يتم تنفيذه إذا كان الشرط صحيح true
  • كود اختيارى يتم تنفيذه إذا كان الشرط خاطئ false

وبالتالى تبدو الجملة الشرطية فى بايثون كالآتى:

حيث test تعبير منطقى boolean expression، وهو تعبير يكون له قيمة true أو false. بمعنى أن الجمل الشرطية تمكنا من التحقق من صحة عبارة ما. لنرى مثال بسيط على البنية السابق ذكرها:

ما هو الناتج من هذا الكود؟ تفضل وجربه.

الآن أعتقد أننى يجب أن أشير سريعًا للفراغات indentation التى تستخدمها بايثون بدلًا من الأقواس فى لغات أخرى مثل C. فى هذا الكود ماذا سيحدث إذا كتبت جملة print الأخيرة فى نفس المستوى تحت جملة print التى تسبقها(داخل كود else)؟ بمعنى إذا كتبناها كالآتى:

فى هذه الحالة !'print 'That\'s it ستكون جزء من كود else.

هذا مجرد مثال سريع عن الفراغات التى تعتمد عليها بايثون كثيرًا فى بناء الجملة. عند البرمجة فى بايثون، يوجد بعض الأخطاء التى يجب أن تتوقعها عند حدوث مشكلة فى الفراغات:

IndentationError: expected an indented block

الجمل الشرطية المتداخلة Nested Conditional Statements

تكون الجمل الشرطية متداخلة nested إذا كان جزء true أو جزء false من الكود (كود else) يحتوى على جملة شرطية أخرى. لنرى مثال على هذا:

لدينا هنا جملة شرطية متداخلة لأن عبارة if الأولى تحتوى على عبارة if أخرى داخلها. لاحظ طريقة محازاة الكود بالفراغات. هذا شىء هام جدًا عند البرمجة فى بايثون.

التعبيرات المنطقية المركبة Compound Boolean Expressions

كما تتذكر، لقد ذكرنا أن الشرط test في بنية العبارة الشرطية تعبير منطقى. في بعض الأحيان قد تحتاج أكثر من تعبير منطقي في نفس الشرط، وهذا ما نسميه التعبيرات المنطقية المركبة.

لنرى مثال، لدينا كود يوجِد أصغر عدد من ثلاثة أعداد. لاحظ أن الشرط الأول تعبير منطقى مركب.

في هذا المثال استخدمنا العبارة الشرطية الثالثة للمرة الأولى في هذا الدرس، وهى elif التى تعنى else if.

وقد استخدمنا أيضا عملية منطقية تسمى and، مما يعني أن جميع العبارات يجب أن تكون صحيحة true لتعمل العبارة التالية لها. ويمكن تلخيص العمليات المنطقية فى بايثون في الجدول التالي:

العملية المنطقية الوصف
or تعمل العبارة التالية إذا كان أي تعبير صحيح
and يجب أن تكون كل التعبيرات صحيحة لتعمل العبارة التالية
not يكون التعبير false إذا كانت قيمته true، وبالعكس

إذا كان لديك عبارة (شرط) تحتوى عل مزيج من هذه العمليات، تعمل العمليات بالترتيب الآتى: or تعمل أولًا، ثم and، ثم not.

لنأخذ مثال آخر يوضح كيف يمكننا استخدام العمليات المنطقية مع القوائم lists:

انظر كيف استخدمنا not فى المثال. وكما تعلم، ليعمل جزء الكود التالى لـif، يجب أن تكون العبارة (التعبير المنطقى) صحيح true. العبارة أصلًا خاطئة false فى مثالنا، لأن 13 لا تنتمى للقائمة. إذا قمت بتشغيل البرنامج، مع ذلك، ستلاحظ  تشغيل عبارة print. كيف حدث هذا؟ حدث هذا لأننا استخدمنا العملية not، التى تعكس قيمة التعبير الأصلى. وفي حالتنا، قلبت false إلى true.

بايثون و عبارة Switch؟

أعرف أنك كنت تتساءل حتى الآن وتقول متى سيأتى مثال على switch. إذا تعلمت العبارات شرطية في لغة برمجة أخرى، ربما رأيت أمثلة تبين جمال استخدام عبارة switch. سبب عدم ذكر أمثلة على مثل هذه العبارات أن بايثون لا تحتوى على عبارات switch!

لمزيد من المعلومات حول العبارات الشرطية فى بايثون، يمكنك الرجوع إلى التوثيق.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.