לולאה מקוננת
חלק מהיחידה יסודות במסלול ה-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): # 2 שורות
line = ""
for col in range(3): # 3 עמודות
line += "*"
print(line)
# פלט:
# ***
# ***הלולאה החיצונית קובעת כמה שורות נדפיס, והלולאה הפנימית בונה כל שורה על ידי הוספת כוכביות.
אתגר
קלכתבו קוד שמדפיס תבנית מלבנית של כוכביות (*) באמצעות לולאות מקוננות.
התוכנית שלכם צריכה:
- לקרוא שני מספרים שלמים:
rowsו-cols - להשתמש במבנה של לולאות מקוננות כדי להדפיס את התבנית
- הלולאה החיצונית צריכה לעבור על כל שורה
- הלולאה הפנימית צריכה לבנות כל שורה עם מספר הכוכביות הנכון
- להדפיס כל שורה שהושלמה
דוגמה: אם הקלט הוא 3 שורות ו-4 עמודות, הפלט צריך להיות:
****
****
****נסו בעצמכם
# קבל קלט עבור השורות והעמודות
rows = int(input())
cols = int(input())
# כתוב כאן את הלולאות המקוננות שלך
# לולאה חיצונית עבור השורות
# לולאה פנימית עבור העמודותהשיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
תרגלו בעצמכם: קומפיילר Python אונליין