توفر لغة البايثون جملة 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 لن يتم تنفيذ الامر لانه حدث
0 تعليقات