הוספת ציון
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-GDScript של Coddy. שיעור 44 מתוך 78.
אתגר
קלתעדו את הציונים של התלמידים. השאירו את כל מה שכתבתם בשלבים הקודמים.
1. הפונקציה. כתבו מתחת לפונקציות האחרות את add_grade(student_name: String, grade: int) -> void:
- אם
student_recordsלא מכיל את השם, הדפיסוStudent '<name>' not found.והחזירו. - אחרת, הוסיפו את הציון למערך
"grades"של התלמיד והדפיסוGrade <grade> added for student '<name>'.
הציונים הם מערך ולא קבוצה, כי תלמיד יכול לקבל את אותו הציון פעמיים ושני המקרים נחשבים.
2. הפקודה. הוסיפו ענף עבור grade <name> <grade>, למשל grade Alice 90, מעל ["show"]. הוא קורא ל־add_grade() כשהציון מומר ל־int. עבור הפקודות
add Alice 20 Math Physics
add Bob 22 Biology Chemistry
grade Alice 90
grade Alice 85
grade Bob 75
grade Charlie 80
show
exitהפלט הוא:
Student 'Alice' added successfully.
Student 'Bob' added successfully.
Grade 90 added for student 'Alice'.
Grade 85 added for student 'Alice'.
Grade 75 added for student 'Bob'.
Student 'Charlie' not found.
{ "Alice": { "age": 20, "grades": [90, 85], "courses": { "Math": true, "Physics": true } }, "Bob": { "age": 22, "grades": [75], "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:
["add", var student, var age, ..]:
add_student(student, int(age), parts.slice(3))
["show"]:
print(student_records)
["exit"]:
print("Goodbye!")
break
func add_student(student_name: String, age: int, courses: Array) -> void:
if student_records.has(student_name):
print("Student '%s' already exists." % student_name)
return
var course_set := {}
for course in courses:
course_set[course] = true
student_records[student_name] = {"age": age, "grades": [], "courses": course_set}
print("Student '%s' added successfully." % student_name)
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
2קבלת החלטות מתקדמת
התאמה עם משתניםתנאי סף להתאמהתבניות מערכיםתבניות מילוניםבדיקות חברותסיכום – מנתח פקודות5אפליקציית ספר אנשי קשר
הצגת התפריטהוספת איש קשר8מנהל רשומות תלמידים
סקירת הפרויקטהוספת תלמידתרגלו בעצמכם: קומפיילר GDScript אונליין