الحلقة while
في بايثون
نستخدم الحلقة while
إذا كنا نريد تنفيذ الكود عدة مرات, ولكننا لا نعرف كم مرة بالتحديد لأننا نريد إيقاف التنفيذ إذا تحقق شرط معين .
هذه الحلقة تتوقف عن تكرار نفسها إذا تحقق الشرط الذي وضعناه لها.
هنا كأننا نقول: " طالما أن الشرط لم يتحقق إستمر في تكرار الكود ".
الصيغة العامة للحلقة while
في بايثون
initialisation; while condition: statements increment أو decrement;
initialisation: هي أول خطوة تتنفذ في الحلقة و هي تتنفذ مرة واحدة فقط على عكس جميع العناصر الموجودة في الحلقة .
في هذه الخطوة نقوم بتعريف متغير ( يسمى عداد ) .condition: هي ثاني خطوة تتنفذ في الحلقة و هي تتنفذ في كل دورة.
في هذه الخطوة نقوم بوضع شرط يحدد متى تتوقف الحلقة, في كل دورة يتم التأكد أولاً إذا تحقق هذا الشرط أم لا.
هنا طالما أن نتيجة الشرط تساويtrue
سيعيد تكرار الكود.statements: هي الخطوة الثالثة, و تعني تنفيذ جميع الأوامر الموجودة في الحلقة و هي تتنفذ في كل دورة.
(decrement أو increment): هي الخطوة الرابعة و الأخيرة, و هي تتنفذ في كل دورة.
هنا نحدد كيف تزداد أو تنقص قيمة العداد.
تذكر فقط أن جميع هذه الخطوات تتكرر في كل دورة ما عدا أول خطوة, و السبب أننا لا نحتاج إلى تعريف عداد جديد في كل دورة, بل نستعمل العداد القديم و الذي من خلاله نعرف في أي دورة أصبحنا.
مثال حول إستخدام الجملة الشرطية else
مع الحلقة while
في بايثون
يمكنك وضع الجملة الشرطية else
مباشرةً بعد الحلقة while
لتنفيذ بلوك من الكود ( مجموعة أوامر ) مباشرةً عندما تتوقف الحلقة عن إعادة تنفيذ الكود الموضوع فيها, أي عندما يصبح جواب الشرط الذي يجعلها تستمر في إعادتها نفسها طالما هو True
يساوي False
.
مثال على استخدام الحلقة for مع while
i = 1 while i <= 10: print(i) i += 1 else: print('This block is executed when the condition return False!')
•سنحصل على النتيجة التالية عند التشغيل.
2
3
4
5
6
7
8
9
10
This block is executed when the condition return False!
تذكر: الكود الموضوع في بلوك الجملة else
سيتنفذ دائماً بعد أن تتوقف الحلقة عن العمل, و سيتنفذ أيضاً حتى لو تتنفذ الحلقة من الأساس.
لتتأكد من هذا الأمر, قم بإعطاء المتغير i
القيمة 100
بدل القيمة 1 و لاحظ أيضاً أنه سينفذ أمر الطباعة الموضوع في البلوك else
.