الشروط في بايثون | Python conditions

  الشروط  في بايثون

ترجمة شروط: تعني conditions في اللغة الإنجليزية. و نستخدم الشروط في بايثون    لتحديد طريقة عمل البرنامج.

كما أنه يمكنك وضع أكثر من شرط condition او  العدد الذي تريده من الشروط في البرنامج الواحد , وايضا نستطيع وضع الشرط condition بداخل  شرط condition او الشروط بداخل بعضها البعض أيضاً.


عزيزي المتعلم لا تقلق ان لم تفهم شيء عن  الشروط  conditions  ولايهمط  سترى .


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

  كتابة  الشروط (Syntax)  او الصيغة العامة لكتابة الشروط conditions في بايثون تكون بالشكل التالي  :

if condition:
    # إذا كان الشرط condition صحيحاً نفذ  الكود الموجود  هنا 
elif condition:
    # إذا كان الشرط condition صحيحاً نفذ  الكود الموجود هنا 
else:
    # إذا لم يتحقق أي شرط condition نفذ  الكود الموجود هنا 
	

ما يجب أن تعرفه عزيزي المتعلم أنك لست بحاجة إلى إستخدام جمل الشرط condition الثلاثة في كل شرط تضعه في برنامجك , و لكنك ياعزيزي  مجبر على إستخدام جملة الشرط if مع أي شرط .

تابع مع سجين القدر الدرس الى الاخير فانت محظوظ جدا  حتى تتعلم   جميع طرق كتابة  الشروط في بايثون . 


  الجمل الشرطية  في بايثون

 الجملة  الإستخدام
IF Statement if في لغتنا العربية تعني " إذا " كما تعلمنا ذلك قبل شوي .
و نستطيع استخدامها ان كنت تبغى تنفيذ كود بسيط حسب شرط بسيط  .
Else Statement else في لغتنا العربية يقصد بها  "غير ذلك او  أي شيء آخر ".
و نستطيع استخدامها ان كنا تريد تنفيذ كود بسيط في حال كان الشرط الذي يسبقها غير صحيح او انه لم يتحقق  .
يجب أن تكون دائماً في الأخير, لأننا نستخدمها  في حال لم يتم تنفيذ أي من الجمل  الشرطية التي تسبقها .
Else IF Statement elif يجب أيضا أن نستخدمها  إذا كنا نريد وضع أكثر من إحتمال ( أي أكثر من شرط condition ).
الجملة أو الجمل الـ elif مكانها  في الوسط, أي بين الجملتين if و else .


    الجملة الشرطية  if

if في لغتنا  العربية تعني " إذا ".
و نستطيع استخدامها  فقط في حال إذا if كنت  تريد تنفيذ كود او شفره معينه حسب شرط معين .

 

هذا التمرين  الأول يوضح فكره جملة  الشرط if

إذا كانت قيمة المتغير Saddam  أكبر من 25 سيتم طباعة الجملة:   Saddam is bigger than 25 .

Test.py
        Saddam = 0

        if Saddam > 25:
        print('Saddam is bigger than 25')
      

المخرجات عند  التنفيذ ستكون بالشكل التالي .


هنا قال في نفسه مره واحده : هل قيمة المتغير Saddam أكبر من 25 ؟
فكان جوابها    كلا ( false ) , لذلك لم تنفذ  أمر الطباعة الموجود في الجملة الشرطية.


 مثال آخر يوضح فكره جملة الشرط if في بايثون 

إذا كانت قيمة المتغير Saddam أكبر من 5 سيتم طباعة الجملة:   Saddam is bigger than 5.

Test.py
        Saddam = 30

        if Saddam > 5:
        print('Saddam is bigger than 5')
      

سنحصل على المخرجات التالية عند التنفيذ .

Saddam is bigger than 5

هنا قال في  نفسه مره واحده : هل قيمة المتغير Saddam أكبر من 5؟
فكان جوابه  نعم (true), لذلك نفذت جمله الطباعة الموجود في الجملة الشرطية if .

     الجملة الشرطية else

الجملة else في لغتنا العربية يقصد بها " غير ذلك او  أي شيء آخر ".
و هي تستخدم فقط في حال كنا نريد تنفيذ كود معين في حال كانت نتيجة جميع الشروط التي قبلها تساوي false.


يجب أن تضها ايها المتعلم  دائماً في الأخير, لأنها تستخدم في حال لم يتم تنفيذ أي جملة شرطية قبلها.

إذاً, إذا نفذ البرنامج الجملة if أو else if فإنه سيتجاهل الجملة else.
و إذا لم ينفذ أي جملة من الجمل if و else if فإنه سينفذ الجملة else.



 

التمرين  الأول في الجملة الشرطية else

إذا كانت قيمة المتغير Saddam تساوي 5 سيتم طباعة الجملة:   Saddam is equal 5 .

إذا كانت قيمة المتغير S لا تساوي 5 سيتم طباعة الجملة:   Saddam is not equal 5 .

Test.py
        Saddam = 5

        if Saddam == 5:
        print('Saddam is equal 5')

        else:
        print('Saddam is not equal 5')
      

سنحصل على النتيجة التالية عند التشغيل.

Saddam is equal 5

هنا سأل نفسه مره واحده : هل قيمة المتغير Saddam تساوي 5؟
فكان جواب الشرط نعم ( true ) , لذلك نفذ أمر الطباعة الموجود في الجملة if.


مثال آخر 

إذا كانت قيمة المتغير Sad تساوي 5 سيتم طباعة الجملة:   Sad is equal 5.

إذا كانت قيمة المتغير S لا تساوي 5 سيتم طباعة الجملة:   Sad is not equal 5.

Test.py
        Sad = 20

        if Sad == 5:
        print('Sad is equal 5')

        else:
        print('Sad is not equal 5')
      

سنحصل على المخرج التالية عند التنفيذ .

Sad is not equal 5

هنا سأل نفسه التالي: هل قيمة المتغير Sad تساوي 5؟
فكان جواب الشرط كلا ( false ) , لذلك نفذ أمر الطباعة الموجود في الجملة else.

     الجملة الشرطية elif

الجملة elif تستخدم إذا كنت تريد وضع أكثر من إحتمال ( أي أكثر من شرط ).

جملة أو جمل الـ elif يوضعون في الوسط, أي بين الجملتين if و else.




مثال

إذا كانت قيمة المتغير number تساوي 1 سيتم طباعة الكلمة:   one.
إذا كانت قيمة المتغير number تساوي 2 سيتم طباعة الكلمة:   two.
إذا كانت قيمة المتغير number تساوي 3 سيتم طباعة الكلمة:   three.
إذا كانت قيمة المتغير number أكبر أو تساوي 4 سيتم طباعة الجملة:   four or greater.
إذا كانت قيمة المتغير number أصغر من 0 سيتم طباعة الجملة:   negative number.

Test.py
        number = 3

        if number == 1:
        print('one')

        elif number == 2:
        print('two')

        elif number == 3:
        print('three')

        elif number >= 4:
        print('four or greater')

        else:
        print('negative number')
      

سنحصل على المخرج التالي عند التنفيذ .

three

هنا سأل نفسه التالي: هل قيمة المتغير number تساوي 1؟
فكان جواب الشرط كلا ( false ) , فانتقل إلى الشرط الذي يليه.

ثم سأل نفسه التالي: هل قيمة المتغير number تساوي 2؟
فكان جواب الشرط كلا ( false ) , فانتقل إلى الشرط الذي يليه.

ثم سأل نفسه التالي: هل قيمة المتغير number تساوي 3؟
فكان جواب الشرط هذه المرة نعم ( true ) , فقام بتنفيذ أمر الطباعة الموجود في الجملة الشرطية الثالثة, ثم تجاوز جميع جمل الشرط التي أتت بعده.

أفكار و أساليب أخرى لوضع الشروط  في بايثون

طرق وضع الشروط في بايثون  Conditions عديدة و متنوعة في بايثون او باي لغة اخرى , و يمكننا وضع شروط بداخل بعضها و يسمى ذلك Nested Conditional.
كما يمكنك عزيزي المتعلم  وضع أكثر من شرط بداخل جمل الشرط if أو else if باستخدام العوامل المنطقية operators logical.

 وضع أكثر من شرط في الجملة if في بايثون 

بإمكانك عزيزي المتعلم  أن تضع أكثر من شرط بداخل جملة الشرط باستخدام العامل and أو or .

العامل and نستخدمه في حال كنت تريد تنفيذ كود معين إذا كان جواب جميع الشروط الموضوعة يساوي true .
العامل or نستخدمه في حال كنت تريد تنفيذ كود معين إذا كان جواب شرط واحد على الأقل يساوي true.



 

التمرين  الأول يوضح فكره وضع أكثر من شرط في الجملة الشرطية if في بايثون .

إذا كانت قيمة المتغير saddam بين 0 و 20 إطبع الجملة:   acceptable number.

Test.py
      saddam = 14;

      if saddam >= 0 and saddam <= 20:      print("acceptable number")
    

سنحصل على المخرج التالي عند التنفيذ .

acceptable number

نلاحظ أنه قد تم تنفيذ أمر الطباعة لأن قيمة المتغير saddam بين 0 و 20

هنا سأل  نفسه  مرتين .

المره الأولى : هل قيمة المتغير saddam أكبر أو تساوي 0؟
فكان جواب الشرط الأول true.

•في المره الثانيه : هل قيمة المتغير saddam أصغر أو تساوي 20؟

فكان جواب الشرط الثاني أيضاً true.

بما أن كلا الجوابين كانا true قام بتنفيذ أمر الطباعة.



تمرين 2 

إذا كانت قيمة المتغير saddam بين 0 و 20 إطبع الجملة:   acceptable number.

Test.py
      saddam = 26;

      if saddam >= 0 and saddam <= 20:
      print('acceptable number')
    

سنحصل على المخرج التالي عند التنفيذ .


نلاحظ أنه لم يتم تنفيذ أمر الطباعة لأن قيمة المتغير saddam ليست بين 0 و 20

هنا سأل نفسه مرتين .

في المره الأولى : هل قيمة المتغير saddam أكبر أو تساوي 0؟
فكان جواب الشرط الأول true.

في المره  الثانيه : هل قيمة المتغير saddam أصغر أو تساوي 20؟
فكان جواب الشرط الثاني false.

بما أن واحداً من الجوابين لم يكن true لم ينفذ دالة الطباعة.



 تمرين أخر أيضا 

إذا كانت قيمة المتغير saddam تساوي 1 أو 2 أو 3 إطبع الجملة:   you choose a valid number.

Test.py
      saddam = 2

      if saddam == 1 or saddam == 2 or saddam == 3:
      print('you choose a valid number')
    

سنحصل على المخرج التالي عند التنفيذ .

you choose a valid number

نلاحظ أنه قام بتنفيذ أمر الطباعة لأن قيمة المتغير saddam تساوي 2

هنا سأل كان سيسأسل نفسه ثلاثة مرات لأنه يوجد ثلاث شروط, لكنه سأل نفسه سؤالين فقط.

في المره الأولى : هل قيمة المتغير saddam تساوي 1؟
فكان جواب الشرط الأول false فانتقل للشرط الذي يليه.

في المره  الثانيه : هل قيمة المتغير saddam تساوي 2؟
فكان جواب الشرط الثاني true.

بما أن واحداً من الأجوبة كان true نفذ مباشرةً أمر الطباعة و لم ينظر حتى للشرط الأخير.


   وضع شروط بداخل شرط في بايثون 

تستطيع وضع الشروط بداخل بعضها عزيزي المتعلم , و يمكنك وضع العدد الذي نريده من الشروط .
في البرامج الفعلية يقوم المبرمج بوضع العديد من الشروط بداخل بعضها, و ذلك حسب الفكرة التي يريد تنفيذها في برنامجه, و سنعطيك مثال بسيط يعلمك كيف تفكر و تحلل.


مثال يوضح طريقة وضع شرط بداخل شرط في بايثون 

في البداية عندنا متغير يمثل الجنس إسمه sex و متغير يمثل العمر إسمه age.

Test.py
      sex = 'female'
      age = 14

      if sex == 'male':
      print('Gender: male')
      if age <= 21:
      print('he is a young boy');

      elif sex == 'female':
      print('Gender: female')
      if age <= 21:
      print('she is a young girl')
    

سنحصل على المخرج التالي  عند التنفيذ .

Gender: female
she is a young girl

هنا سأل نفسه التالي: هل قيمة المتغير sex تساوي male؟
فكان جواب الشرط false , فانتقل إلى جملة الشرط الثانية elif.

هنا سأل نفسه التالي: هل قيمة المتغير sex تساوي female؟
فكان جواب الشرط true , فقام بتنفيذ دالة الطباعة الموجودة فيها, فطبع الجملة   Gender: female.

ثم وجد شرطاً آخر بداخل الشرط السابق, فسأل نفسه التالي: هل قيمة المتغير age أصغر أو تساوي 21؟
فكان جواب الشرط true , فقام بتنفيذ دالة الطباعة الموجودة فيها, فطبع الجملة   she is a young girl.



في الدرس التالي سوف تتعرف على الحلقات في بايثون 

الدرس السابق : العوامل في بايثون.

الدرس التالي : الحلقات  في بايثون .