الحلقة while في بايثون

  الحلقة while في بايثون

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

هنا كأننا نقول: " طالما أن الشرط لم يتحقق إستمر في تكرار الكود ".


 الصيغة العامة  للحلقة while في بايثون

	initialisation;

	while condition:
    statements
    increment أو decrement;

  

  • initialisation:   هي أول خطوة تتنفذ في الحلقة و هي تتنفذ مرة واحدة فقط على عكس جميع العناصر الموجودة في الحلقة .
    في هذه الخطوة نقوم بتعريف متغير ( يسمى عداد ) .


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


  • statements:   هي الخطوة الثالثة, و تعني تنفيذ جميع الأوامر الموجودة في الحلقة و هي تتنفذ في كل دورة.


  • (decrement أو increment):   هي الخطوة الرابعة و الأخيرة, و هي تتنفذ في كل دورة.
    هنا نحدد كيف تزداد أو تنقص قيمة العداد.


تذكر فقط أن جميع هذه الخطوات تتكرر في كل دورة ما عدا أول خطوة, و السبب أننا لا نحتاج إلى تعريف عداد جديد في كل دورة, بل نستعمل العداد القديم و الذي من خلاله نعرف في أي دورة أصبحنا.

مثال حول إستخدام الجملة الشرطية else مع الحلقة while في بايثون

يمكنك وضع الجملة الشرطية else مباشرةً بعد الحلقة while لتنفيذ بلوك من الكود ( مجموعة أوامر ) مباشرةً عندما تتوقف الحلقة عن إعادة تنفيذ الكود الموضوع فيها, أي عندما يصبح جواب الشرط الذي يجعلها تستمر في إعادتها نفسها طالما هو True يساوي False.


مثال  على استخدام الحلقة for مع while

Test.py
                    i = 1

	  while i <= 10:
	  print(i)
	  i += 1
	  else:
	  print('This block is executed when the condition return False!')
	

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

1
2
3
4
5
6
7
8
9
10
This block is executed when the condition return False!

تذكر: الكود الموضوع في بلوك الجملة else سيتنفذ دائماً بعد أن تتوقف الحلقة عن العمل, و سيتنفذ أيضاً حتى لو تتنفذ الحلقة من الأساس.
لتتأكد من هذا الأمر, قم بإعطاء المتغير i القيمة 100 بدل القيمة 1 و لاحظ أيضاً أنه سينفذ أمر الطباعة الموضوع في البلوك else.

تعليقات