توفر لغة البايثون جملة while او while loop . جملة while هي احدى ​جمل ​التكرار، حيث تسمح بتكرار تنفيذ امر او مجموعة من الاوامر طالما ان هناك ​شرط متحقق

جملة while

فيها يتم التحقق من الشرط اولا قبل تنفيذ الاوامر بداخل ​فقرة الجملة

قاعدة الكتابة (ٍSyntax)

while شرط :
  # الاوامر التي يتم تنفيذها طالما الشرط متحقق
  • ​الشرط هنا هو اي ​عبارة منطقية اي نتيجتها true او false.
  • يتم تنفيذ الاوامر داخل ​الفقرة طالما الشرط متحقق اي قيمته تكون true.
  • اذا كان في البداية، الشرط غير متحقق لن يتم تنفيذ اي من الكود بداخله ولا يتم الدخول داخل الفقرة.
  • اذا بقى الشرط قيمته true ستظل الاوامر تتكرر دون توقف وتسمى الحلقة اللانهائية infinite loop
تشغيل
i = 0
while i < 5:
	  print(i)
    # بمقدار 1 مع كل لفة حتى نستطيع الخروج من الحلقة i  نزيد قيمة 
	  i = i + 1

break

كلمة break هي احد الكلمات المحجوزة في لغة بايثون، وهي تستخدم للخروج من while مثلا، اذا كانت عندنا قائمة من الاسماء و نريد ان توقف بعد ظهور اسم معين او اي شرط اخر ولا نكمل الدوران، مثال

تشغيل
names= ["Ahmad", "Mohammad", "Ghada", "Sara", "Zainab"]    
 
length = len(names) # نحسب طول القائمة
i = 0

while i < length: # اصغر من طول القائمة i طالما المتغير
    name = names[i]
    print(name) # نطبع الاسم
    if name == "Ghada": # Ghada نسأل اذا كان الاسم هو 
        break; # for نتوقف عن الدوران ونخرج خارج جملة 
    # بمقدار 1 مع كل لفة حتى نستطيع الخروج من الحلقة i  نزيد قيمة     
    i += 1 

continue

تستخدم كلمة continue لتخطي لفة/دوران معين في ​جملة while فمثلا اذا اردنا ان نطبع قائمة اسماء عدا اسم معين

تشغيل
names= ["Ahmad", "Mohammad", "Ghada", "Sara", "Zainab"]    
 
length = len(names) # نحسب طول القائمة
i = 0

while i < length: # اصغر من طول القائمة i طالما المتغير
    name = names[i]
    # بمقدار 1 مع كل لفة حتى نستطيع الخروج من الحلقة i  نزيد قيمة
    if name == "Ghada": # Ghada نسأل اذا كان الاسم هو 
        
        continue; # نتخطي تلك اللفة/الدوران ونبدأ دوران جديد 
    i += 1     
    print(name) # نطبع الاسم 

else

تستخدم كلمة else مع while اذا اردنا ان ننفذ كود معين بعد ان تتم جملة while (اي بعد ان يتم الدوران على كل قيمها)، لكن لن يتم تنفيذ الكود داخل else اذا تم تنفيذ امر break داخل جملة ال while

تشغيل
names= ["Ahmad", "Mohammad", "Ghada", "Sara", "Zainab"]    
 
length = len(names) # نحسب طول القائمة
i = 0

while i < length: # اصغر من طول القائمة i طالما المتغير
    name = names[i]
    print(name) # نطبع الاسم
    if name == "Mahmoud": # لن يتم تنفيذها لعدم تحقق الشرط break جملة
        break; 
        
    i += 1 # بمقدار 1 مع كل لفة حتى نستطيع الخروج من الحلقة i  نزيد قيمة 
else:
    print("Finished !!") # سوف يتم طباعتها 

print('--------------------------')

i = 0
while i < length: # اصغر من طول القائمة i طالما المتغير
    name = names[i]
    print(name) # نطبع الاسم
    if name == "Ghada": # سوف يتم تنفيذها لتجقق الشرط break جملة
        break; 
        
    i += 1 
else:
    print("Finished !!") # break لن يتم تنفيذ الامر لانه حدث   


guest
0 تعليقات
Inline Feedbacks
اظهر كل التعليقات