Menu
CoddyTech
flag Ar iconالعربيةdown icon

مسجل في المقرر

جزء من قسم المنطق وتدفّق التنفيذ في رحلة GDScript على Coddy. الدرس 45 من 78.

challenge icon

التحدي

سهل

تحقّق مما إذا كان الطالب مسجّلًا في مقرر. احتفظ بكل ما كتبته في الخطوات السابقة.

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])

جميع دروس المنطق وتدفّق التنفيذ

تدرّب بنفسك: مترجم GDScript عبر الإنترنت