Menu
CoddyTech

הוספת תלמיד

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

challenge icon

אתגר

קל

הוסף תלמידים לרשומות. שמור את כל מה שכתבת בשלבים הקודמים.

1. הפונקציה. מתחת ל־_ready(), כתוב add_student(student_name: String, age: int, courses: Array) -> void:

  • אם student_records כבר מכיל את השם, הדפס Student '<name>' already exists. וחזור.
  • אחרת, בנה קבוצה של הקורסים (מילון שבו כל קורס הוא מפתח והערך שלו הוא true) ושמור את התלמיד תחת שמו כמילון עם שלושה מפתחות: "age" (הגיל), "grades" (מערך ריק) ו־"courses" (הקבוצה). לאחר מכן הדפס Student '<name>' added successfully.

2. הפקודה. הפקודה add Alice 20 Math Physics מכילה את השם, את הגיל וכל מספר של קורסים. הוסף את הענף הזה ל־match, מעל ["show"]:

["add", var student, var age, ..]:
	add_student(student, int(age), parts.slice(3))

.. מאפשר לתבנית להתאים לקורסים שמופיעים אחריו, ו־parts.slice(3) הוא המערך של הקורסים האלה. עבור הפקודות

add Alice 20 Math Physics
add Bob 22 Biology Chemistry
show
exit

הפלט הוא:

Student 'Alice' added successfully.
Student 'Bob' added successfully.
{ "Alice": { "age": 20, "grades": [], "courses": { "Math": true, "Physics": true } }, "Bob": { "age": 22, "grades": [], "courses": { "Biology": true, "Chemistry": true } } }
Goodbye!

נסו בעצמכם

extends Node

# כל תלמיד: שם -> {"age": int, "grades": Array, "courses": קבוצה של שמות קורסים}
var student_records := {}

func _ready():
	while true:
		var parts := Array(OS.read_string_from_stdin().split(" ", false))
		match parts:
			["show"]:
				print(student_records)
			["exit"]:
				print("Goodbye!")
				break

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

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