Menu
CoddyTech

סכימת ערכים

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-GDScript של Coddy. שיעור 49 מתוך 78.

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

var coins := [12, 30, 8, 50]
var total := 0
for amount in coins:
	total += amount
print(total) # 100

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

var total := 40
for amount in coins:
	total += amount
print(total) # 140

אותה לולאה מסכמת את ערכי המילון כשהיא עוברת על values(), ומסכמת שדה אחד מכל מילון במערך כשהיא קוראת את השדה הזה:

var inventory := {"potion": 3, "arrow": 20, "bomb": 2}
var items := 0
for count in inventory.values():
	items += count
print(items) # 25

var party := [{"hero": "Mia", "hp": 80}, {"hero": "Leo", "hp": 65}]
var party_hp := 0
for member in party:
	party_hp += member["hp"]
print(party_hp) # 145

כדי לקבל סכום כולל אחד לכל קבוצה, שומרים את הסכומים במילון. שימוש ב־get() עם ערך ברירת המחדל 0 מטפל בקבוצה שעדיין אין לה סכום כולל:

var loot := [["gold", 10], ["gems", 2], ["gold", 25]]
var totals := {}
for drop in loot:
	totals[drop[0]] = totals.get(drop[0], 0) + drop[1]
print(totals) # { "gold": 35, "gems": 2 }

כדי לחשב ממוצע, חלקו את הסכום במספר הערכים והמירו קודם ל־float כדי שהספרות העשרוניות יישמרו: float(total) / coins.size().

challenge icon

אתגר

קל

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

  1. מכירות היום, מספרים שלמים המופרדים ברווחים. השורה ריקה כשלא היו מכירות.
  2. המזומן שהיה בקופה בתחילת היום (מספר שלם).

הוסף כל מכירה למזומן ההתחלתי והדפס את התוצאה אחרי Total: . עבור הקלטים 100 200 150 300 ו-50, הפלט הוא:

Total: 800

נסו בעצמכם

extends Node

func _ready():
	var sales := OS.read_string_from_stdin().split(" ", false)
	var starting_cash := int(OS.read_string_from_stdin())
	# הוסיפו כל מכירה לסכום המזומן ההתחלתי והדפיסו את הסכום הכולל
	pass
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

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