Menu
CoddyTech

לולאה מקוננת

חלק מהיחידה יסודות במסלול ה-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 x 2 = 6 פעמים.

לשתי הלולאות דרושים שמות משתנים שונים. כתיבת for i בתוך for i אחר היא שגיאה, שמדווחים עליה לפני שהתוכנית רצה.

לולאות מקוננות שימושיות לעבודה עם שורות ועמודות. print() תמיד מסיימת את השורה, לכן כדי להדפיס שורה של כוכביות, בנה אותה תחילה במחרוזת והדפס אותה לאחר שהלולאה הפנימית מסתיימת:

for row in range(2):
	var line := ""
	for col in range(3):
		line += "*"
	print(line)
***
***

הלולאה החיצונית רצה פעם אחת בכל שורה, והלולאה הפנימית מוסיפה כוכב אחד בכל עמודה. פקודת break בתוך הלולאה הפנימית עוצרת רק את הלולאה הפנימית: הלולאה החיצונית ממשיכה לאיטרציה הבאה שלה.

challenge icon

אתגר

קל

התוכנית קוראת שני מספרים שלמים: 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())
	# לולאה חיצונית: איטרציה אחת לכל שורה
	# לולאה פנימית: הוסיפו כוכבית אחת לכל עמודה
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר GDScript אונליין