؛

التنقل في المنتدى
تحتاج لتسجيل الدخول لإنشاء مشاركات أو مواضيع.

بايثون3 مِن مدارس w3-19Python Conditions

تنويه:
لِأن التاب لا تظهر على الصفحة, و هي شيء مهم جدا في الإزاحة في كود بايثون
لذلك فإننا سنستبدل التاب بالكلمة 'tab' على هذه الصفحة
و مِن الأفضل إذا شئت أن تنسخ أي كود, أن تأخذه مِن الملف النصي, أو الملفات المُرفقة.
أسلوب الشرط في بيثون, If ... Else

أسلوب الشرط في Python وعبارةْ If
بايثون يدعم الشروط المنطقية المعتادة من الرياضيات:
• يساوي: a == b
• لا يساوي: a!= b
• أقل من: a < b
• أقل من أو يساوي: a <= b
• أكبر من: a > b
• أكبر من أو يساوي: a >= b
يمكن استخدام هذه الشروط بعدة طرق ، وأكثرها شيوعًا في "عبارات if" والحلقات.
تتم كتابة عبارة "if" باستخدام الكلمة الأساسية if .
مثال
استخدام الشرط if:
a = 33
b = 200
if b > a:
tab print("b is greater than a")

ستكون النتيجة:
b is greater than a
جربها بنفسك مِن ملف if2.py
في هذا المثال ، نستخدم متغيرين ، a و b ، يستخدمان كجزء من أسلوب if لاختبار ما إذا كان b أكبر من a.
بما أن a هو 33 ، و b هو 200 ، فإننا نعلم أن 200 أكبر من 33 ، وهكذا نَطْبَع جواب شرط أن "b أكبر من a".

الإزاحة(Indentation)
يعتمد بايثون على المسافة البادئة (المسافة البيضاء في بداية السطر) لتحديد النطاق في الكود.
غالبًا ما تستخدم لغات البرمجة الأخرى الأقواس المتعرجة لهذا الغرض.
البعض يستخدم المسافة كوسيلة للإزاحة(indentation), و لكن نحن نفَضِّل استخدام التاب لهذا الأمر.
مثال
إذا كان جواب العبارة if، بدون مسافة بادئة (ستعطي رسالةْ خطأ):
a = 33
b = 200
if b > a:
print("b is greater than a") # you will get an error

النتيجة:
File "if_error.py", line 4
print("b is greater than a")
^
IndentationError: expected an indented block
جربها بنفسك مِن ملف if_error.py

elif
الكلمة الرئيسية elif هي طريقة pythons للقول "إذا لم تكن الشروط السابقة صحيحة ، فجرب هذا الشرط".
مثال
a = 33
b = 33
if b > a:
tab print("b is greater than a")
elif a == b:
tab print("a and b are equal")

ستكون النتيجة:
a and b are equal
جربها بنفسك مِن ملف if_elif.py
في هذا المثال a يساوي b ، وبالتالي فإن الشرط الأول ليس صحيحا ، ولكن شرط elif صحيح ، لذلك نطْبع على الشاشة أنّ "a and b are equal".

else
الكلمة الرئيسية else تستوعب أي شيء لا يتم التجاوب معه من قِبَل الشروط السابقة.
مثال
a = 200
b = 33
if b > a:
tab print("b is greater than a")
elif a == b:
tab print("a and b are equal")
else:
tab print("a is greater than b")

ستكون النتيجة:
a is greater than b
جربها بنفسك مِن ملف if_else.py
في هذا المثال ، a أكبر من b ، وبالتالي فإن الشرط الأول ليس صحيحًا ، وكذلك شرط elif ليس صحيحًا ، لذلك نذهب إلى شرط else ونطبع على الشاشة "a is greater than b".

يمكنك أيضًا استخدام elseبدون elif:
مثال
a = 200
b = 33
if b > a:
tab print("b is greater than a")
else:
tab print("b is not greater than a")

ستكون النتيجة:
b is not greater than a
جربها بنفسك مِن ملف if_else2.py

if و جوابها على سطر واحد
إذا كان لديك شرط واحد فقط لتنفيذه ، يمكنك وضع جوابها على نفس سطر عبارةْ if.
مثال
عبارةْ if و جوابها على سطر واحد:
a = 200
b = 33

if a > b: print("a is greater than b")

ستكون النتيجة:
a is greater than b
جربها بنفسك مِن ملف if_short.py

كتابةْ if و else على سطر واحد
إذا كان لديك عبارة واحدة فقط لتنفيذها ، واحدة لـ if وواحدة لـ else ، فيمكنك وضعها جميعًا في نفس السطر:
مثال
if و else على سطر واحد:
a = 2
b = 330
print("A") if a > b else print("B")

ستكون النتيجة:
B
جربها بنفسك مِن ملف if_else_short.py
تُعرف هذه التقنية بالعوامل الثلاثية(Ternary Operators,) أو التعبيرات الشرطية .

يمكنك أيضًا استعمال عبارةْ else مرّات متعددة في نفس السطر:
مثال
عبارةْ if else ، مع 3 شروط في سطر واحد:
a = 330
b = 330
print("A") if a > b else print("=") if a == b else print("B")

ستكون النتيجة:
=
جربها بنفسك مِن ملف if_else_short2.py

and
الكلمة الرئيسية and هي عامل منطقي ، وتُستخدم لدمج العبارات الشرطية:
مثال
اختبر ما إذا كان aأكبر من bو إذا كان c أكبر من a:
a = 200
b = 33
c = 500
if a > b and c > a:
tab print("Both conditions are True")

ستكون النتيجة:
Both conditions are True
جربها بنفسك مِن ملف if_and.py

or
الكلمة الرئيسية or هي عامل منطقي ، ويتم استخدامها لدمج العبارات الشرطية:
مثال
اختبار ما إذا كانت aأكبر من b، أو إذا كانت a أكبر من c:
a = 200
b = 33
c = 500
if a > b or a > c:
tab print("At least one of the conditions is True")

ستكون النتيجة:
At least one of the conditions is True
جربها بنفسك مِن ملف if_or.py

if متداخلة (Nested If)
يمكن أن يكون لديك عبارات if داخل عبارات if أخرى، وهذا ما يسمى بتعليمات if المتداخلة .
مثال
x = 41
if x > 10:
tab print("Above ten,")
tab if x > 20:
tab tab print("and also above 20!")
tab else:
tab tab print("but not above 20.")

ستكون النتيجة:
Above ten,
and also above 20!
جربها بنفسك مِن ملف if_nested.py

عبارةْ التمرير(pass Statement)
لا يمكن أن تكون عبارات if فارغة, اي بدون جواب،
ولكن إذا كان لديك لسبب ما عبارة if لا تحتوي على جواب ، فَضَع العبارة pass مكان الجواب لتجنب حدوث خطأ.
مثال
a = 33
b = 200
if b > a:
tab pass

ستكون النتيجة:

جربها بنفسك مِن ملف if_pass.py

اختبر نفسك مع التمارين
التمرين:
قم بطباعةْ "Hello World" إذا كان aأكبر من b.
a = 50
b = 10
...a...b...
tab print("Hello World")

الإجابة:
a = 50
b = 10
if a > b:
tab print("Hello World")

الدرس مع الملفات المُرفقة:
https://www.dropbox.com/s/l1a3j3srl0vum6x/19Python%20Conditions.zip?dl=1

Skip to content