تعليمات الحلقة while




تستخدم هذه الحلقة لإعادة تنفيذ التعليمات المتضمنة فيها طالما الشرط محقق.

البناء الرياضي


while expression:
   statement(s)

هنا يمكن أن تكون التعليمات تعليمة مفردة او كتلة تعليمات والشرط يمكن أن يكون اي تعبير كما أن تحقق الشرط يمكن ان يكون أية قيمة غير الصفر. طالما الشرط محقق فإن الحلقة تكرر تنفيذه. وعندما لا يتحقق الشرط فإن متحكم البرنامج ينتقل حالاً إلى السطر التالي للحلقة.
تتم إزاحة التعليمات في لغة البرمجة Python وفق العدد نفسه من الأحرف والفراغات وذلك بعد أن يتم تشكيل البناء البرمجي ليكون جزءاً من كتلة واحدة من الرموز. تستخدم هذه الطريقة في تجميع التعليمات الخاصة بلغة البرمجة Python.

المخطط التدفقي


تعليمات الحلقة while

هنا من الممكن ألا يتم تنفيذ الحلقة حيث إنه عندما يتم اختبار الشرط وظهور انه غير محقق عندها يتم تجاوز هذه الحلقة ليتم تنفيذ التعليمة الأولى بعدها.

مثال
#!/usr/bin/python

count = 0
while (count < 9):
   print 'The count is:', count
   count = count + 1

print "Good bye!"

عندها تظهر النتيجة التالية:
The count is: 0
The count is: 1
The count is: 2
The count is: 3
The count is: 4
The count is: 5
The count is: 6
The count is: 7
The count is: 8
Good bye!

تتكون الكتلة هنا من تعليمات الطباعة والعد. يتم تكرار تنفيذ هذه الحلقة حتى يصبح العد ليس أقل من 9 .
مع كل عملية تكرار تظهر القيمة الحالية لدليل العد وتزاد بمقدار 1.

الحلقة اللانهائية


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

مثال
#!/usr/bin/python

var = 1
while var == 1 :  # This constructs an infinite loop
   num = raw_input("Enter a number  :")
   print "You entered: ", num

print "Good bye!"

عندها تظهر النتيجة التالية
Enter a number  :20
You entered:  20
Enter a number  :29
You entered:  29
Enter a number  :3
You entered:  3
Enter a number between :Traceback (most recent call last):
  File "test.py", line 5, in <module>
    num = raw_input("Enter a number :")
KeyboardInterrupt

تمثل الحلقة أعلاه حلقة لانهائية ولإنهاء البرنامج يتم استخدام الاختصار CTRL+C.

استخدام تعليمة else مع الحلقات



  • عند استخدام تعليمة else مع حلقة for فإنها تنفذ عند انتهاء حلقة for من تكرار التعليمة.

  • عند استخدام تعليمة else مع حلقة while فإنها تنفذ عندما يصبح الشرط غير محقق.


يبين المثال التالي بنية يتم فيها استخدام تعليمة else مع تعليمة whileحيث تتم طباعة الأرقام طالما أنها أقل من 5 وإلا يتم تنفيذ التعليمة else.
#!/usr/bin/python

count = 0
while count < 5:
   print count, " is  less than 5"
   count = count + 1
else:
   print count, " is not less than 5"

وعندها تظهر النتيجة التالية
0 is less than 5
1 is less than 5
2 is less than 5
3 is less than 5
4 is less than 5
5 is not less than 5

أقسام التعليمة المفردة


بشكل مشابه للبناء الرياضي لتعليمة if , إذا كانت تعليمة while تتكون من تعليمة مفردة فإنها يمكن أن تتوضع على السطر نفسه كما في السطر الرئيسي لتعليمة while. يمثل التالي البناء الرياضي لعبارة while بسطر واحد ومثالاً عنها:
#!/usr/bin/python

flag = 1

while (flag): print 'Given flag is really true!'

print "Good bye!"

يفضل عدم تشغيل المثال السابق لأنه سوف يؤدي إلى حلقة لانهائية وعندها يتوجب استخدام الاختصار CTRL+C لإنهاء البرنامج.

ليست هناك تعليقات:

إرسال تعليق