الحلقات المتداخلة
جزء من قسم 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)
# المخرجات:
# ***
# ***تتحكم الحلقة الخارجية في عدد الصفوف التي نطبعها، وتقوم الحلقة الداخلية ببناء كل صف عن طريق إضافة النجوم.
التحدي
سهلاكتب كوداً يطبع نمط مستطيل من النجوم (*) باستخدام الحلقات المتداخلة.
يجب أن يقوم برنامجك بما يلي:
- قراءة عددين صحيحين:
rowsوcols - استخدام هيكل حلقات متداخلة لطباعة النمط
- يجب أن تنتقل الحلقة الخارجية عبر كل صف
- يجب أن تقوم الحلقة الداخلية ببناء كل صف بالعدد الصحيح من النجوم
- طباعة كل صف مكتمل
مثال: إذا كان الإدخال 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())
# اكتب الحلقات المتداخلة هنا
# الحلقة الخارجية للصفوف
# الحلقة الداخلية للأعمدةيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع7حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على المدخلات2المتغيرات
الأرقامالنصوص (String)القيم المنطقية (Boolean)قواعد التسميةالمتغيرات الفارغةمراجعة - تهيئة المتغيرات8الحلقات التكرارية
حلقة Forحلقة Whileجملة Breakجملة Continueمراجعة - المضروب (Factorial)دالة Rangeالحلقات المتداخلةمراجعة - Dynamic Input3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - العمليات الرياضية البسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
الإخراجالإخراج مع المتغيراتالإدخالتحويل الأنواعمراجعة - حتى 120مراجعة - صح أم خطأ