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