حلقة while
جزء من قسم الأساسيات في رحلة GDScript على Coddy. الدرس 44 من 92.
تعمل حلقة for مرة واحدة لكل عدد في نطاق. وتستمر حلقة while في العمل ما دام الشرط true:
var count := 3
while count > 0:
print(count)
count -= 1
print("Go!")3
2
1
Go!يُتحقَّق من الشرط قبل كل تكرار. عندما تصبح count 0، تكون count > 0 false، لذا تتوقف الحلقة ويواصل البرنامج التنفيذ بعدها. إذا كان الشرط false منذ البداية، فلن تُنفَّذ الكتلة مطلقًا.
يجب أن تغيّر الكتلة شيئًا يعتمد عليه الشرط. هنا، تجعل count -= 1 قيمة count أقرب إلى 0. من دون ذلك، سيظل الشرط true ولن تنتهي الحلقة أبدًا.
استخدم while عندما لا تعرف مسبقًا عدد التكرارات التي تحتاج إليها. على سبيل المثال، يعثر هذا على أصغر قوة للعدد 2 أكبر من 27:
var number := 27
var power_of_two := 1
while power_of_two <= number:
power_of_two *= 2
print(power_of_two)تتضاعف power_of_two في كل تكرار: 2، 4، 8، 16، 32. عند 32، تكون قيمة power_of_two <= number هي false، لذا يطبع البرنامج 32.
التحدي
سهليقرأ البرنامج عددًا عشريًا واحدًا في number.
استخدم حلقة while لقسمة number على 2 ما دام أكبر من أو يساوي 3.5. ثم اطبع النتيجة، وهي أول قيمة أصغر من 3.5.
على سبيل المثال، عند إدخال 15 تكون القيم هي 15 و7.5 و3.75 و1.875، لذا يطبع البرنامج:
1.875إذا كان الإدخال أصغر من 3.5 بالفعل، فاطبعه دون تغيير. لا تستخدم حلقة for.
جرّب بنفسك
extends Node
func _ready():
var number := float(OS.read_string_from_stdin())
# اقسم number على اثنين ما دام يساوي 3.5 أو أكثر، ثم اطبعه
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات، الجزء الأول
المعاملات الحسابيةالقسمة الصحيحةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - حسابات بسيطةمعاملات المقارنة7أساسيات الإدخال والإخراج
الإخراجالإخراج باستخدام المتغيراتتنسيق السلاسل النصيةالإدخالالتحويل بين الأنواعمراجعة - حتى 120مراجعة - صح أم خطأ10الدوال
تعريف دالةالمعاملاتالقيمة المعادةأنواع القيم المعادةمراجعة - دالة سيغمامراجعة - دالة التحققالقيم الافتراضية13التكرار على المصفوفات
التكرار على العناصرالتكرار باستخدام الفهارسالتكرار على السلاسل النصية الجزء 1التكرار على السلاسل النصية الجزء 216متعقّب المصروفات اليومية
نظرة عامة على المشروعإنهاء البرنامجتدرّب بنفسك: مترجم GDScript عبر الإنترنت