إذن ، متى يجب استخدام حلقة while ومتى يجب استخدام حلقة for؟
ويعتمد الأمر حقًا على المشكلة التي تحاول حلها.
على سبيل المثال ، في حلقة for يمكنني عمل أربعة عناصر ، دعنا نقول القائمة واحد ، اثنان ، ثلاثة.
وبالنظر فقط إلى هذا الرمز ، فأنت تعلم على الفور أنه سيتم تكرارها ثلاث مرات.
الصحيح.
ويمكنني أن أقول هنا ، اطبع العنصر ، لكن يمكنك القيام بذلك في حلقة متكررة أيضًا.
أستطيع أن أقول إنني يساوي صفرًا.
وبعد ذلك ، بينما أنا أقل من طول القائمة ، دعنا نقول ، هذا واحد ، اثنان ، ثلاثة.
حسنًا ، في هذه الحالة ، أريدك أن تطبع أنا أو العنصر ثم تزداد.
أشتري واحدة.
إذا قمت بتشغيل هذا.
أرى ذلك.
حسنًا ، من الناحية الفنية ، نزيد الذكاء الاصطناعي ، وهي القيمة ، لكن دعنا نقول أن لدينا
قائمة هنا.
لذا فإن قائمتي وهذه القائمة ستكون واحد ، اثنان ، ثلاثة.
حسنًا ، يمكن تكرار قائمتي باستخدام حلقة for أو يمكن تكرارها باستخدام حلقة while.
ونقول ببساطة قائمتي.
في فهرس I.
وإذا قمت بتشغيل هذا.
أحصل على نفس النتائج.
لكن أيهما تعتقد أنه أفضل؟
أولاً ، في حين أن الحلقات مرنة جدًا ، يمكننا فعل الكثير لأن لدينا هذه العبارة الشرطية.
يمكننا التكرار أكثر من ثلاث مرات إذا أردنا حقًا ذلك.
لذا في هذه الحالة ، بينما تكون الحلقات أكثر قوة ولكن حلقات for أبسط ، أليس كذلك؟
مثل هذا الرمز يقرأ بشكل جيد حقًا وجيد حقًا.
يبدو الأمر معقولا.
نريد فقط أن نتحدث عن شيء نعرفه بالفعل.
كم مرة نريد أن نلتف أكثر من ثلاث مرات بحلقة y.
علينا إنشاء هذا المتغير وعلينا التأكد من أننا نتذكر زيادة المتغير حتى لا نحصل
على حلقة لا نهائية.
لذلك مع وجود حلقة while ، تحتاج إلى التأكد من أننا نتذكر إيقاف الحلقة في مرحلة ما.
لذا فإن قاعدتي هي عادةً هذه الحلقات البسيطة أو التكرار على الكائنات القابلة للتكرار للحلقات أمر رائع ، لكن دعنا نقول أنك لست متأكدًا
من عدد المرات التي تريد تكرارها فوق شيء ما.
لست متأكدًا حقًا من المدة التي ستستغرقها الحلقات.
لذلك تريد أن تقول ، بينما يكون هناك شيء ما صحيح ، استمر في التكرار.
على سبيل المثال ، لنفترض أننا نحاول استعراض قائمة البريد الإلكتروني التي جمعناها على أحد مواقع
الويب ، ولكل قائمة بريد إلكتروني ، نريد إرسال بريد إلكتروني.
حسنًا ، بينما لا تزال القائمة موجودة ، دعنا نستمر في إرسال رسائل البريد الإلكتروني.
هناك العديد والعديد من الحالات ، ولكن أحد أكثر الطرق المفيدة لاستخدام حلقة while هو مثل هذا.
يقال حين.
حقيقي.
قم بعمل ما.
وتأكد من أننا في النهاية نكسر.
يتمسك.
ماذا يحصل هنا؟
أنا أقول ، على الرغم من صحتها ، ألا يؤدي ذلك إلى إنشاء حلقة لا نهائية؟
أعني ، الصدق سيكون دائمًا صحيحًا ، وستكون على حق إذا لاحظت ذلك.
لكن مرة أخرى ، لدينا بيان استراحة هنا.
لذا في النهاية ، بعد تشغيل السطر الثالث ، سوف ينكسر.
لكن الآن يمكننا أن نفعل شيئًا قويًا مثل المدخلات هنا.
وإذا كنت تتذكر ، ستطلب منا إحدى المدخلات مطالبة بإدخال شيء ما حتى أستطيع أن أقول
، مرحبًا ، إدخال ، قل شيئًا.
وإذا قمت بالنقر فوق تشغيل.
سيقول ، مهلا ، قل شيئًا.
أتعلم؟
دعنا نضيف فاصلة منقوطة هنا أو ندعو هنا ودعنا نحاول ذلك مرة أخرى وننظر إلى ذلك.
إنه يقول ، قل شيئًا.
أنا على الخط الثالث الآن ، لذا سأقول مرحبًا.
وهل رأيت ذلك؟
لقد خرجنا للتو من الحلقة.
سألني مرة واحدة فقط ، رغم أن هذا كان صحيحًا.
بمجرد أن وصلنا إلى السطر الرابع ، انتهيت.
ولكن ماذا لو قمت بإزالة هذا؟
وأنا انقر فوق تشغيل.
إذا قلت شيئًا ، أقول مرحباً ثم يسألني مرة أخرى.
أهلاً.
أنا أقول مرحبا.
وهي تسألني باستمرار ، تسألني ، تسألني.
ولدينا حلقة لا نهائية.
لكن الشيء المثير هنا هو أنه يمكننا استخدام المنطق الشرطي ، أليس كذلك؟
ماذا لو قلنا.
إجابة.
هنا واجمع أيًا كان الرد وقل ما إذا كانت الاستجابة متساوية ، دعنا نقول بحلول ذلك الوقت
سأكسر.
لذلك إذا قمت بتشغيل هذا مرة أخرى.
أقول مرحبا يسألني باستمرار.
وتعلم ماذا؟
أنا منزعج منك.
آلة ، سأقول وداعا.
سوف يخرجها من أجلي.
كم ذلك رائع؟
لذا ، في حين أن الحلقات مفيدة للغاية لمهام مثل هذه حيث يمكن أن تحدث التكرارات لوقت طويل ، فأنت
لا تعرف عدد المرات التي ستحدث فيها ، ولكن هذا شيء عليك فقط أن
تعتاد عليه بالممارسة في النهاية.
وأعدك أن هذا يحدث حيث ستكتشف متى تستخدم أثناء استخدام حلقة for.
لكن في نهاية اليوم ، استخدم أي شيء يحل مشكلتك.
سأرى التالي.
وداعا.