Menu
CoddyTech

מעבר על מילונים

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

לולאת for על מילון נותנת לך את המפתחות שלו, לפי הסדר שבו נוספו זוגות המפתח והערך. השתמש בכל מפתח כדי לקרוא את הערך שלו:

var stock := {"apples": 3, "pears": 5, "plums": 2}
for fruit in stock:
	print(fruit, ": ", stock[fruit])

הפלט הוא:

apples: 3
pears: 5
plums: 2

כשצריך רק את הערכים, עוברים בלולאה על values(). הלולאה הזו מחברת את הכמויות של כל הפירות:

var total := 0
for amount in stock.values():
	total += amount
print(total) # 10

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

var counts := {}
for word in ["gold", "gem", "gold"]:
	counts[word] = counts.get(word, 0) + 1
print(counts) # { "gold": 2, "gem": 1 }
challenge icon

אתגר

קל

התוכנית קוראת שורת קלט אחת: השלל ששחקן אסף, כשהפריטים מופרדים בפסיקים, למשל gold,gem,gold.

ספרו כמה פעמים כל פריט מופיע במילון בשם counts. לאחר מכן הדפיסו כל פריט ואת מספר הפעמים שהוא מופיע בפורמט item: count, פריט אחד בכל שורה, לפי הסדר שבו הפריטים הופיעו לראשונה.

עבור הקלט gold,gem,gold,potion,gold, הפלט הוא:

gold: 3
gem: 1
potion: 1

נסו בעצמכם

extends Node

func _ready():
	var loot := OS.read_string_from_stdin().split(",")
	var counts := {}

	# ספרו כל פריט ב-counts

	# הדפיסו כל פריט ואת מספר הפעמים שהוא מופיע
	pass
quiz iconבחנו את עצמכם

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

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

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