حلقة While
جزء من قسم Fundamentals في رحلة Python على Coddy. الدرس 36 من 77.
تختلف حلقة while عن حلقة for. تتيح لنا حلقة for التكرار عبر range معين، بينما تتيح لنا حلقة while الاستمرار في التكرار طالما تحقق condition معين.
لاستخدام حلقة while أكتب:
while condition:
codeسيتم تنفيذ الكود فقط إذا كانت الـ condition هي True.
عادةً ما يتم تشكيل الـ condition باستخدام عوامل المقارنة مثل <= (أصغر من أو يساوي)، >= (أكبر من أو يساوي)، < (أصغر من)، > (أكبر من)، أو == (يساوي). يستمر الـ loop في العمل طالما أن نتيجة هذه المقارنة هي True، ويتوقف بمجرد أن تصبح False.
داخل جسم الـ loop، عادة ما تحتاج إلى تحديث (update) الـ variable الجاري فحصها. يتم ذلك باستخدام عوامل التعيين المركبة (augmented assignment operators) مثل += (الجمع والتعيين)، -= (الطرح والتعيين)، *= (الضرب والتعيين)، أو /= (القسمة والتعيين). على سبيل المثال، x *= 2 هي اختصار لـ x = x * 2. بدون تحديث الـ variable، لن تتغير الـ condition أبداً وسيعمل الـ loop إلى الأبد (infinite).
هناك العديد من حالات الاستخدام التي يمكن لحلقة while فيها حل المشكلة، بينما لا تستطيع حلقة for ذلك.
على سبيل المثال، اعتبر هذه المشكلة:
أوجد أصغر قوة للعدد 2 تكون أكبر من number معطى.
لحله، سنستخدم حلقة while تقوم بضرب القوة الحالية للعدد 2 في 2 بشكل متكرر حتى تصبح أكبر من الرقم المعطى:
number = 27
power_of_two = 1
while power_of_two <= number:
power_of_two *= 2
print(power_of_two)هنا، power_of_two <= number هي الـ condition باستخدام عامل مقارنة، و power_of_two *= 2 تقوم بـ update لـ variable في كل تكرار باستخدام عامل إسناد مركب. وبمجرد أن تتجاوز قيمة power_of_two قيمة number، تصبح الـ condition مساوية لـ False ويتوقف الـ loop.
التحدي
مبتدئاكتب برنامجًا يستقبل مدخلًا واحدًا، وهو عدد من النوع float.
استخدم حلقة while لتقسيم المدخل على 2 طالما كان الرقم أكبر من أو يساوي 3.5.
اطبع أول رقم يكون أصغر من 3.5.
جرّب بنفسك
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع7حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على المدخلات2المتغيرات
الأرقامالنصوص (String)القيم المنطقية (Boolean)قواعد التسميةالمتغيرات الفارغةمراجعة - تهيئة المتغيرات8الحلقات التكرارية
حلقة Forحلقة Whileجملة Breakجملة Continueمراجعة - المضروب (Factorial)دالة Rangeالحلقات المتداخلةمراجعة - Dynamic Input3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - العمليات الرياضية البسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
الإخراجالإخراج مع المتغيراتالإدخالتحويل الأنواعمراجعة - حتى 120مراجعة - صح أم خطأتدرّب بنفسك: مترجم Python عبر الإنترنت