Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

حلقة While

جزء من قسم الأساسيات في رحلة Python على Coddy. الدرس 36 من 77.

تختلف حلقة while عن حلقة for. تتيح لنا حلقة for التكرار على range محدد، بينما تتيح لنا حلقة while مواصلة التكرار ما دام condition معيّنًا مستوفًى.

لاستخدام حلقة while اكتب:

while condition:
	code

سيُنفَّذ الكود فقط إذا كان الشرط True.

عادةً ما يتم تشكيل condition باستخدام عوامل المقارنة مثل <= (أصغر من أو يساوي)، >= (أكبر من أو يساوي)، < (أصغر من)، > (أكبر من)، أو == (يساوي). يستمر loop في العمل ما دام تقييم تلك المقارنة هو True، ويتوقف بمجرد أن يصبح False.

داخل جسم loop، تحتاج عادةً إلى update الـvariable التي يتم التحقق منها. ويتم ذلك باستخدام عوامل الإسناد المركب مثل += (الجمع والإسناد)، أو -= (الطرح والإسناد)، أو *= (الضرب والإسناد)، أو /= (القسمة والإسناد). على سبيل المثال، x *= 2 هو اختصار لـ x = x * 2. من دون تحديث الـvariable، لن يتغير الـcondition أبدًا، وسيستمر الـloop إلى الأبد.

هناك العديد من حالات الاستخدام التي يمكن فيها لـ 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 وتتوقف الحلقة.

challenge icon

التحدي

مبتدئ

اكتب برنامجًا يحصل على إدخال واحد، وهو عدد float.

استخدم حلقة while لقسمة الإدخال على 2 ما دام العدد أكبر من أو يساوي 3.5.

اطبع أول عدد يكون أصغر من 3.5.

جرّب بنفسك

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات

تدرّب بنفسك: مترجم Python عبر الإنترنت