حلقة متداخلة
جزء من قسم الأساسيات في رحلة GDScript على Coddy. الدرس 49 من 92.
الحلقة المتداخلة هي حلقة داخل حلقة أخرى. في كل تكرار للحلقة الخارجية، تنفّذ الحلقة الداخلية جميع تكراراتها:
for i in range(3):
print("Outer: ", i)
for j in range(2):
print(" Inner: ", j)Outer: 0
Inner: 0
Inner: 1
Outer: 1
Inner: 0
Inner: 1
Outer: 2
Inner: 0
Inner: 1الكتلة الداخلية مُزاحة بمقدار مستويين. تُنفَّذ 3 × 2 = 6 مرات إجمالًا.
تحتاج الحلقتان إلى اسمين مختلفين للمتغير. كتابة for i داخل for i أخرى خطأ، ويُبلَّغ عنه قبل تشغيل البرنامج.
تُفيد الحلقات المتداخلة في التعامل مع الصفوف والأعمدة. تنهي print() السطر دائمًا، لذا لطباعة صف من النجوم، كوّنه أولًا في سلسلة نصية واطبعه مرة واحدة بعد انتهاء الحلقة الداخلية:
for row in range(2):
var line := ""
for col in range(3):
line += "*"
print(line)***
***تُنفَّذ الحلقة الخارجية مرة واحدة لكل صف، وتضيف الحلقة الداخلية نجمة واحدة لكل عمود. تؤدي عبارة break داخل الحلقة الداخلية إلى إيقاف الحلقة الداخلية فقط: وتتابع الحلقة الخارجية تنفيذ التكرار التالي.
التحدي
سهليقرأ البرنامج عددين كليين: rows وcols.
استخدم حلقات متداخلة لطباعة مستطيل من النجوم (*) يتكوّن من rows أسطر، وفي كل سطر cols نجوم.
بالنسبة إلى المدخلين 3 و4، يكون الناتج:
****
****
****جرّب بنفسك
extends Node
func _ready():
var rows := int(OS.read_string_from_stdin())
var cols := int(OS.read_string_from_stdin())
# الحلقة الخارجية: تكرار واحد لكل صف
# الحلقة الداخلية: أضف نجمة واحدة لكل عمود
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات، الجزء الأول
المعاملات الحسابيةالقسمة الصحيحةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - حسابات بسيطةمعاملات المقارنة7أساسيات الإدخال والإخراج
الإخراجالإخراج باستخدام المتغيراتتنسيق السلاسل النصيةالإدخالالتحويل بين الأنواعمراجعة - حتى 120مراجعة - صح أم خطأ10الدوال
تعريف دالةالمعاملاتالقيمة المعادةأنواع القيم المعادةمراجعة - دالة سيغمامراجعة - دالة التحققالقيم الافتراضية13التكرار على المصفوفات
التكرار على العناصرالتكرار باستخدام الفهارسالتكرار على السلاسل النصية الجزء 1التكرار على السلاسل النصية الجزء 216متعقّب المصروفات اليومية
نظرة عامة على المشروعإنهاء البرنامجتدرّب بنفسك: مترجم GDScript عبر الإنترنت