Menu
CoddyTech

מעבר באמצעות אינדקסים

חלק מהיחידה יסודות במסלול ה-GDScript של Coddy. שיעור 70 מתוך 92.

לולאה על פני האיברים נותנת לך כל ערך, אך לא את המיקום שלו. כשצריך גם את האינדקס, לולאה על פני האינדקסים באמצעות range() וקרא כל איבר באמצעות סוגריים מרובעים:

var fruits := ["apple", "banana", "orange"]
for i in range(fruits.size()):
	print("Index %d: %s" % [i, fruits[i]])
Index 0: apple
Index 1: banana
Index 2: orange

range(fruits.size()) נותן את 0, 1 ו־2: בדיוק את האינדקסים של המערך. בכל מעבר, i הוא האינדקס ו־fruits[i] הוא האיבר.

האינדקס הוא גם מה שמאפשר לך לשנות את המערך בתוך לולאה. השמה למשתנה הלולאה של for price in prices: משנה רק את המשתנה הזה, בעוד שהשמה אל prices[i] משנה את המערך:

var prices := [2, 5]
for i in range(prices.size()):
	prices[i] *= 2
print(prices)
[4, 10]
challenge icon

אתגר

קל

התוכנית קוראת שורה של מספרים שלמים המופרדים בפסיקים אל המערך numbers (כבר כתוב).

הדפיסו מערך עם האינדקסים של המספרים שקטנים מ-50 או מתחלקים ב-5. עבור הקלט 80,4,99,36,34:

  • 80 (אינדקס 0) מתחלק ב-5: נכלל
  • 4 (אינדקס 1) קטן מ-50: נכלל
  • 99 (אינדקס 2): לא נכלל
  • 36 (אינדקס 3) ו-34 (אינדקס 4) קטנים מ-50: נכללים

הפלט הוא:

[0, 1, 3, 4]

נסו בעצמכם

extends Node

func _ready():
	var parts := OS.read_string_from_stdin().split(",")
	var numbers: Array[int] = []
	for part in parts:
		numbers.append(int(part))
	# כתבו את הקוד שלכם למטה
quiz iconבחנו את עצמכם

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

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

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