Professional Documents
Culture Documents
كما في كل لغات البرمجة ،فأن لغة بايثون تتعامل مع الشروط بشكل ممتاز وباستخدام عبارة ( )ifوبالصيغة التالية:
If condition:
Statements
Or:
If condition:
Statements
Else:
Statements
وكما يعرف الجميع فأن العبارات ( )statementsال تنفذ اال إذا كان الشرط ( )conditionصحيحا ً واما إذا كان الشرط خطأ
فيتم القفز مباشرة الى العبارات بعد بلوك ال ( )ifوكما في التوضيح التالي:
وكمثال لدور المسافات ( )indentsفي التفريق بين بلوك واخر الحظ الصورة التالية:
حيث نالحظ ان كل لون مختلف هو بلوك يتميز عن بقية البلوكات وبعضها يجتمع بسطر واحد وبعضها بعدة أسطر.
كما يعرف المبرمجون ببقية لغات البرمجة ،فأن عبارة ( )ifتحتوي الكثير من الخيارات والمميزات ومنها انها يمكن ان
تستخدم في التنفيذ بمسار واحد او بعدة مسارات وبحسب نوعية استخدامها وكما في التفصيل ادناه:
حيث يتضح من المثال أعاله ان هناك شرط واحد للتنفيذ اما ان يكون صحيح فيتم التنفيذ واما ان يكون خطأ فيقفز المفسر الى
ما بعد بلوك ( )ifلتنفيذه.
مالحظة :كما ذكرنا سابقا ً فأن المسافات ( )indentsتعمل بدل االقواس لفصل بلوك ( )ifعن بقية مكونات البرنامج وهنا
يجب االنتباه الى استخدام زر ( )spaceمن لوحة المفاتيح أربع مرات واالبتعاد كليا ً عن استخدام ( )tabألنه يعطي رسالة
خطأ دوما ً حيث يعتبر ال ( )tabرمزاً غير مفهوم للغة بايثون فيجب الحذر.
ولمزيد من التوضيح حول المسافات ودورها في تحديد مسار التنفيذ الحظ األمثلة التالية:
كما في الصورة السابقة نرى ان عبارة ( )ifتستخدم بشكل متشعب ( ifبداخل ) ifوتسمى باصطالح البرمجة ()nested if
وتعني انه ان كان الشرط األول صحيح فقم بالدخول الى البلوك الخاص به لتجد شرطا ً اخر ،فأن كان هذا الشرط صحيح ايضا ً
يقوم المفسر بالدخول الى داخل البلوك الخاص به واال فال .وهكذا؟
يمكن في هذه الحاالت استخدام ( )elseاو ( )elif = else ifوبحسب الحاجة وكما في ادناه:
الحظ ايضاً:
واخيراً يمكن كتابة كودات برامج تحتوي على أسطر ال تنفذ ابداً وكما في الصورة التالية:
هذا السؤال سيبقى كواجب بيتي لكم احبتي وسنتطرق لحله في المحاضرة القادمة ان شاء هللا.
أتمنى ان يكون شرح اليوم مفيداً لكم وال تقلقوا من قلة األمثلة فالدرس القادم سيكون مليئا ً بها ان شاء هللا وسيكون عن
عبارات الشرط ايضاً .كالعادة ،ننتظر تفاعلكم واسئلتكم والمشاركة في النشر لتعميم الفائدة.