## الحلقات المتداخلة
حلقة داخل حلقة أخرى. لكل تكرار في الحلقة الخارجية، تُكمل الحلقة الداخلية كل تكراراتها.
### متى تستخدمها: - طباعة أنماط ومصفوفات - البحث في بيانات ثنائية الأبعاد - مقارنة كل عنصر بكل عنصر آخر
### كيف تعمل: ``` outer: i=1 inner: j=1 → j=2 → j=3 outer: i=2 inner: j=1 → j=2 → j=3 outer: i=3 inner: j=1 → j=2 → j=3 ```
| 1 | # حلقتان متداخلتان |
| 2 | for i in range(1, 4): # حلقة خارجية |
| 3 | for j in range(1, 4): # حلقة داخلية |
| 4 | print(f"({i},{j})", end=" ") |
| 5 | print() # سطر جديد بعد كل صف |
مثال 1: جدول الضرب كامل
| 1 | print("جدول الضرب (1-5):") |
| 2 | print("-" * 30) |
| 3 | |
| 4 | for i in range(1, 6): |
| 5 | for j in range(1, 6): |
| 6 | print(f"{i*j:4}", end="") |
| 7 | print() |
مثال 2: طباعة نجوم (هرم)
| 1 | rows = 5 |
| 2 | for i in range(1, rows + 1): |
| 3 | # مسافات |
| 4 | print(" " * (rows - i), end="") |
| 5 | # نجوم |
| 6 | print("* " * i) |