הפונקציה range
חלק מהיחידה יסודות במסלול ה-GDScript של Coddy. שיעור 48 מתוך 92.
range() יכולה לקבל מספר אחד, שניים או שלושה:
range(end): מ־0ועדendrange(start, end): מ־startועדendrange(start, end, step): מ־startועדend, בהתקדמות שלstepבכל פעם
בשלושתם, end לעולם אינו נכלל. הצעד הוא הכמות שמוסיפים כדי לקבל את המספר הבא. הקוד הזה מדפיס את המספרים האי־זוגיים הקטנים מ־10:
for i in range(1, 10, 2):
print(i)1
3
5
7
9צעד שלילי סופר לאחור. לכן, הערך ההתחלתי חייב להיות גדול מערך הסיום. הקוד הזה סופר לאחור מ-10 עד 1:
for i in range(10, 0, -1):
print(i)הסוף עדיין אינו נכלל, ולכן הלולאה נעצרת ב־1. עם range(20, 9, -2), המספרים הם 20, 18, 16, 14, 12 ו־10: 10 נכלל כי הוא עדיין גדול מ־9.
אם נקודת ההתחלה כבר נמצאת אחרי נקודת הסיום, כמו ב־range(1, 5, -1), הטווח ריק והלולאה לא מתבצעת.
GDScript מאפשרת לך גם לכתוב מספר יחיד אחרי in. for i in 3: פועלת כמו for i in range(3):, כאשר i נע מ-0 עד 2.
אתגר
קלהתוכנית קוראת שלושה מספרים שלמים: start, end ו-step.
השתמש בלולאת for עם range(start, end, step) כדי להדפיס כל מספר בטווח הזה, אחד בכל שורה.
עבור הקלטים 1, 10 ו-2, הפלט הוא:
1
3
5
7
9הצעד יכול להיות שלילי: עבור 10, 0 ו--3, הדפס את 10, 7, 4 ו-1.
נסו בעצמכם
extends Node
func _ready():
var start := int(OS.read_string_from_stdin())
var end := int(OS.read_string_from_stdin())
var step := int(OS.read_string_from_stdin())
# כתבו כאן את לולאת ה-for שלכם
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 1
אופרטורים אריתמטייםחלוקה שלמהאופרטור מודולוקיצורי דרך אריתמטייםסיכום – חשבון פשוטאופרטורי השוואהתרגלו בעצמכם: קומפיילר GDScript אונליין