المهارات الرقمية فصل أول

الحادي عشر خطة جديدة

icon

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

أنواع الجمل الشرطية في بايثون (Python)

أولًا: الجملة الشرطية ( if (if statement
تُكتَب الصيغة العامة للجملة الشرطية ( if ) على النحو الآتي:


if condition:
   statements1

 

حيث:
If : كلمة محجوزة في لغة البرمجة بايثون(Python)
condition : الشرط (تعبير منطقي).
statements : أوامر برمجية تُنفَّذ إذا كان الشرط صحيحًا (تحقُّق الشرط).
(:) : علامة يجب أنْ توضَع بعد الشرط ( condition ) حتّى يُنفَّذ البرنامج.
مثال:
يطبع البرنامج الآتي عبارة " y is greater than x " إذا كانت قيمة المُتغيِّر ( y) أكبر من قيمة المُتغيِّر (x)


x = 3
y = 20
if y > x: print("y is greater than x")


عند تشغيل البرنامج، ستظهر النتيجة الآتية على شاشة جهاز الحاسوب:

يُمكِن كتابة الجملة الشرطية السابقة بصورة مختصرة كما يأتي:



x = 3
y = 20
if y > x: print("y is greater than x")


- يجب أنْ تكون المسافات البادئة صحيحة؛ لكي يعمل المقطع البرمجي (الكود) بصورة صحيحة في لغة البرمجة بايثون (Python)
- أتأكَّد دائمًا أنَّ الأسطر التي تتبع الشرط مثل السطر الذي يحتوي على كلمة ( print ) تحوي مسافة بادئة (أربع مسافات أو Tab واحدة).

ثانيًا: الجملة الشرطية (if else)
تُكتَب الصيغة العامة للجملة الشرطية ( if else ) على النحو الآتي:


if condition:
   statements1
else:
    statements2

 


حيث:
if, else : كلمتان محجوزتان في لغة البرمجة بايثون (Python)
statements1 : أوامر برمجية تُنفَّذ إذا كان الشرط صحيحًا (تحقُّق الشرط).
statements2 : أوامر برمجية تُنفَّذ إذا لم يكن الشرط صحيحًا (عدم تحقُّق الشرط).
(:): علامة يجب أنْ توضع بعد الشرط ( condition ) و بعد جملة .else
مثال:
يطبع البرنامج الآتي عبارة " y is less than x " إذا كانت قيمة المُتغيِّر ( y) أقل من قيمة المُتغيِّر (x)
ويطبع البرنامج عبارة " x is less than y " إذا كانت قيمة المُتغيِّر ( x) أقل من قيمة المُتغيِّر (y)


x = 80
y = 100
if y < x:
   print("y is less than x")
else:
  print("x is less than y")


عند تشغيل البرنامج، ستظهر النتيجة الآتية:

يُمكِن كتابة الجملة الشرطية السابقة بصورة مختصرة كما يأتي:


x = 80
y= 100
print("y is less than x") if y < x else print("x is less than y")

 

ثالثًا: الجملة الشرطية (if elif)

تُكتَب الصيغة العامة للجملة الشرطية ( if elif ) على النحو الآتي:


if condition1:
   statements1
elif condition2:
   statements2


حيث:
if, elif : كلمتان محجوزتان في لغة البرمجة بايثون (Python)
statements1 : أوامر برمجية تُنفَّذ إذا تحقَّق الشرط(condition1)
statements2 : أوامر برمجية تُنفَّذ إذا تحقَّق الشرط (condition2)
مثال:
يطبع البرنامج الآتي عبارة " y is greater than x " إذا كانت قيمة المُتغيِّر ( y) أكبر من قيمة المُتغيِّر (x)
ويطبع البرنامج عبارة " x equals y " إذا كانت قيمة المُتغيِّرَ ) x( تساوي قيمة المُتغيِّر (y)


x = 20
y = 20
if y > x:
print('y is greater than x')
elif x == y:
print('x equals y')


عند تشغيل البرنامج، ستظهر النتيجة الآتية:

  • أكتب جملًًا برمجية بلغة البرمجة بايثون ( Python ) لحساب قيمة المُتغيِّر ( z) وَفقًا لكل معادلة ممّا يأتي وطباعته:


z = x2 * y , x >= 5
z = x * (x + y) , x == 5

 

 

 

 

 

 

 

 

 

رابعًا: الجملة الشرطية (if elif else)
تُكتَب الصيغة العامة للجملة الشرطية ( if elif else ) على النحو الآتي:


if condition1:
statements1
elif condition2:
statements2
else:
statements3


حيث:
if, else, elif : كلمات محجوزة في لغة البرمجة بايثون (Python)
statements1 : أوامر برمجية تُنفَّذ إذا تحقَّق الشرط(condition1)
statements2 : أوامر برمجية تُنفَّذ إذا تحقَّق الشرط (condition2)
statements3 : أوامر برمجية تُنفَّذ إذا لم يتحقَّق أيٌّ من الشرطين (condition2, condition1)
مثال:
يطبع البرنامج الآتي عبارة " y is greater than x " إذا كانت قيمة المُتغيِّر ( y) أكبر من قيمة المُتغيِّر (x)

ويطبع البرنامج عبارة " x equals y " إذا كانت قيمة المُتغيِّر ( x) تساوي قيمة المُتغيِّر ( y)،

ويطبع البرنامج عبارة " x is greater than y " إذا كانت قيمة المُتغيِّر ( y)أصغر من قيمة المُتغيِّر (x)


x = 50
y = 25
if y > x:
print("y is greater than x")
elif y == x:
print("x equals y")
else:
print("x is greater than y")


عند تشغيل البرنامج، ستظهر النتيجة الآتية:

 

المُعامِلات المنطقية (Logical Operators):
يُستعمَل المُعامِل المنطقي(and) والمُعامِل المنطقي ( or ) لربط التعابير المنطقية البسيطة، وتكوين جمل منطقية مُركَّبة، في حين يُستعمَل المُعامِل المنطقي ( not ) لنفي التعابير المنطقية.
1. المُعامِل المنطقي(and):
قد يتوقَّف تنفيذ أمر برمجي مُعيَّن في البرنامج على تحقُّق مجموعة من الشروط مُجتمِعةً.
مثال:
يراد طباعة كلمة " Excellent " إذا كان مُعدَّل الطالب/ الطالبة أكبر من أو يساوي ( 90 ) وأقل من أو يساوي ( 100 ).
الحَلُّ:
يجب استعمال المُعامِل المنطقي ) and ( للدلالة على تحقُّق الشرطين معًا، وتُكتَب الأوامر البرمجية على النحو الآتي:

 

if Avg >= 90 and Avg <=100:
print("Excellent")


عند تشغيل البرنامج، ستظهر النتيجة الآتية:

2. المُعامِل المنطقي (or)
قد يتوقَّف تنفيذ أمر مُعيَّن في البرنامج على تحقُّق شرط من مجموعة شروط.
مثال:
يراد طباعة قيمة المُتغيِّر( x) إذا كانت قيمة هذا المُتغيِّر تساوي ( 1( أو ) 2).
الحَلُّ:
يجب استعمال المُعامِل المنطقي ( or ) للدلالة على تنفيذ جملة الطباعة في حال تحقَّق أحد الشرطين، وتُكتَب الأوامر البرمجية على النحو الآتي:


x = 1
if x == 1 or x == 2:
print('you selected a valid number')


عند تشغيل البرنامج، ستظهر النتيجة الآتية:

 

3. المُعامِل المنطقي (not):
قد يتوقَّف تنفيذ أمر في البرنامج على عدم تحقُّق شرط مُعيَّن.

مثال:
يراد طباعة كلمة " Fail " إذا لم يُحقِّق الطالب/ الطالبة شرط النجاح (Avg >= 50)
الحَلُّ:
يجب استعمال المُعامِل المنطقي ( not ) للدلالة على عدم تحقُّق الشرط، وتُكتَب الأوامر البرمجية على النحو الآتي:


Avg = 49
if not Avg >= 50:
print("Fail")


عند تشغيل البرنامج، ستظهر النتيجة الآتية:

الجملة الشرطية المُركَّبة (Nested Conditional Statements)
تُوفِّر لغة البرمجة بايثون ( Python ) إمكانية كتابة جمل شرطية مُركَّبة (مُتداخِلة)؛ أيْ وضع جملة شرطية( if ) داخل جملة شرطية (if ) أُخرى.
مثال:
يطبع البرنامج الآتي عبارة " Above ten " إذا كانت قيمة ( x) أكبر من(10 )، ثمَّ يتحقَّق إذا كانت قيمة (x) ( أكبر من ) (60 ). فيطبع البرنامج، إضافة إلى العبارة السابقة، عبارة " and also above 60 " إذا كانت قيمة (x)( أكبر من ) (60)، و يطبع

عبارة " but not above 60 " إذا كانت قيمة ( x) ( أقل من ) (60 ).

 

x = 68
if x > 10:
print("Above ten,")
if x > 60:
print("and also above 60.")
else:
print("but not above 60.")


عند تشغيل البرنامج، ستظهر النتيجة الآتية:

مثال:
يُستخدَم البرنامج الآتي في التحقُّق إذا كانت قيمة المُتغيِّر( y) تقبل القسمة على ( 3)، وتقبل القسمة على (2)، أو تقبل القسمة على أحدهما ، أو لا تقبل القسمة على أي منهما. ثمَّ يطبع البرنامج العبارة الدالَّة على ذلك.


y = 9
if y %2==0:
if y %3==0:
print("divisible by 3 and 2")
else:
print("divisible by 2, but not divisible by 3")
else:
if y %3==0:
print("divisible by 3, but not divisible by 2")
else:
print("not divisible by 2 and not divisible by 3")

 

عند تشغيل البرنامج، ستظهر النتيجة الآتية:

أتتبَّع تنفيذ البرنامج الآتي في بيئة بايثون ( Python )، بوجود جملة ( pass ) تارة، وعدم وجودها تارة أُخرى.


x = 4
y = 2
if x > y:
pass

 

 

  • اكتشاف الأخطاء في المقطع البرمجي بلغة البرمجة بايثون (Python)

حلل المقطع البرمجي الآتي، وأكتشِف الأخطاء الواردة فيه وأعمل على تصحيح هذه الأخطاء، ثمَّ أُنفِّذ المقطع البرمجي بعد تصحيحه.


grade = input("Enter your grade: ")
if grade >= 85
print("A")
elif grade >= 75
print("B")
elif grade >= 65:
print("C")
else
print("F")

 

  • grade = int( input("Enter your grade: "))
    grade المتغير يجب تعريف 
    
    if grade >= 85
                      ^
    SyntaxError: expected ':'
    

 ':' نحتاج بعد جملة الشرط  if  في  جملة 

  •  print("A")
        ^
    IndentationError: expected an indented block after 'if' statement on line 2
    

نحتاج لفراغ قبل الجملة print 

  • elif grade >= 75 ^ SyntaxError: expected ':'  

     ':' نحتاج بعد جملة الشرط  if  في  جملة 

  • print("B") ^ IndentationError: expected an indented block after 'elif' statement on line 4
  • print("C")
        ^
    IndentationError: expected an indented block after 'elif' statement on line 6
    

 

نحتاج لفراغ قبل الجملة print 

else ^ SyntaxError: expected ':'

 ':' نحتاج بعد جملة الشرط else  في  جملة