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

الحلقات المتداخلة

جزء من قسم Fundamentals في رحلة Python على Coddy — الدرس 41 من 77.

الحلقة المتداخلة هي حلقة داخل حلقة أخرى. تكمل الحلقة الداخلية جميع دوراتها لكل دورة واحدة من الحلقة الخارجية.

لنبدأ بحلقة متداخلة بسيطة لفهم المفهوم:

# الحلقة الخارجية
for i in range(3):
    print(f"Outer loop iteration: {i}")
    
    # الحلقة الداخلية
    for j in range(2):
        print(f"  Inner loop iteration: {j}")

عند تشغيل هذا الكود، سترى ما يلي:

Outer loop iteration: 0
  Inner loop iteration: 0
  Inner loop iteration: 1
Outer loop iteration: 1
  Inner loop iteration: 0
  Inner loop iteration: 1
Outer loop iteration: 2
  Inner loop iteration: 0
  Inner loop iteration: 1

لاحظ أنه مع كل تكرار للحلقة الخارجية، تكمل الحلقة الداخلية جميع تكراراتها.

الآن دعونا نرى مثالاً عملياً - طباعة نمط بسيط:

# طباعة مستطيل من النجوم بحجم 2x3
for row in range(2):  # صفان
    line = ""
    for col in range(3):  # 3 أعمدة
        line += "*"
    print(line)

# المخرجات:
# ***
# ***

تتحكم الحلقة الخارجية في عدد الصفوف التي نطبعها، وتقوم الحلقة الداخلية ببناء كل صف عن طريق إضافة النجوم.

challenge icon

التحدي

سهل

اكتب كوداً يطبع نمط مستطيل من النجوم (*) باستخدام الحلقات المتداخلة.

يجب أن يقوم برنامجك بما يلي:

  1. قراءة عددين صحيحين: rows و cols
  2. استخدام هيكل حلقات متداخلة لطباعة النمط
  3. يجب أن تنتقل الحلقة الخارجية عبر كل صف
  4. يجب أن تقوم الحلقة الداخلية ببناء كل صف بالعدد الصحيح من النجوم
  5. طباعة كل صف مكتمل

مثال: إذا كان الإدخال 3 صفوف و 4 أعمدة، يجب أن يكون المخرج:

****
****
****

ورقة مرجعية

الحلقات المتداخلة هي حلقات داخل حلقات أخرى:

for x in range(2):
    for y in range(2):
        print(x, y)

# المخرجات:
# 0 0
# 0 1
# 1 0
# 1 1

تكمل الحلقة الداخلية جميع تكراراتها لكل تكرار واحد من الحلقة الخارجية، تماماً كما يكمل عقرب الدقائق في الساعة دورة كاملة لكل ساعة.

جرّب بنفسك

# الحصول على مدخلات الصفوف والأعمدة
rows = int(input())
cols = int(input())

# اكتب الحلقات المتداخلة هنا
# الحلقة الخارجية للصفوف
# الحلقة الداخلية للأعمدة
quiz iconاختبر نفسك

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

جميع دروس Fundamentals