מעבר על מילונים
חלק מהיחידה יסודות במסלול ה-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 }אתגר
קלהתוכנית קוראת שורת קלט אחת: השלל ששחקן אסף, כשהפריטים מופרדים בפסיקים, למשל 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
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 1
אופרטורים אריתמטייםחלוקה שלמהאופרטור מודולוקיצורי דרך אריתמטייםסיכום – חשבון פשוטאופרטורי השוואהתרגלו בעצמכם: קומפיילר GDScript אונליין