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