האם רשום
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-GDScript של Coddy. שיעור 45 מתוך 78.
אתגר
קלבדוק אם תלמיד רשום לקורס. השאר את כל מה שכתבת בשלבים הקודמים.
1. הפונקציה. מתחת לשאר הפונקציות, כתוב is_enrolled(student_name: String, course: String) -> bool:
- אם אין ב-
student_recordsאת השם, הדפסStudent '<name>' not found.והחזרfalse. - אחרת, החזר
trueכשהקורס נמצא בקבוצה"courses"של התלמיד, ו-falseכשהוא לא נמצא בה.
2. הפקודה. הוסף ענף עבור enrolled <name> <course>, כגון enrolled Alice Math, מעל ["show"]. הוא מדפיס את הערך שמחזירה is_enrolled(). עבור הפקודות
add Alice 20 Math Physics
add Bob 22 Biology Chemistry
enrolled Alice Math
enrolled Alice Biology
enrolled Bob Biology
enrolled Charlie Math
exitהפלט הוא:
Student 'Alice' added successfully.
Student 'Bob' added successfully.
true
false
true
Student 'Charlie' not found.
false
Goodbye!אם התלמיד לא נמצא, ההודעה מופיעה קודם ו-false אחריה.
נסו בעצמכם
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))
["grade", var student, var grade]:
add_grade(student, int(grade))
["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)
func add_grade(student_name: String, grade: int) -> void:
if not student_records.has(student_name):
print("Student '%s' not found." % student_name)
return
student_records[student_name]["grades"].append(grade)
print("Grade %d added for student '%s'." % [grade, student_name])
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
2קבלת החלטות מתקדמת
התאמה עם משתניםתנאי סף להתאמהתבניות מערכיםתבניות מילוניםבדיקות חברותסיכום – מנתח פקודות5אפליקציית ספר אנשי קשר
הצגת התפריטהוספת איש קשר8מנהל רשומות תלמידים
סקירת הפרויקטהוספת תלמידתרגלו בעצמכם: קומפיילר GDScript אונליין