Menu
CoddyTech

Not Ekle

Coddy'nin GDScript Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 44 / 78.

challenge icon

Görev

Kolay

Öğrencilerin notlarını kaydedin. Önceki adımlarda yazdığınız her şeyi koruyun.

1. İşlev. Diğer işlevlerin altına add_grade(student_name: String, grade: int) -> void yazın:

  • student_records içinde bu isim yoksa Student '<name>' not found. yazdırın ve geri dönün.
  • Aksi hâlde notu öğrencinin "grades" dizisine ekleyin ve Grade <grade> added for student '<name>'. yazdırın.

Notlar bir küme değil, bir dizidir; çünkü bir öğrenci aynı notu iki kez alabilir ve ikisi de sayılır.

2. Komut. ["show"] satırının üstüne grade <name> <grade> için, örneğin grade Alice 90 gibi bir dal ekleyin. Notu bir int türüne dönüştürerek add_grade() işlevini çağırır. Aşağıdaki komutlar için

add Alice 20 Math Physics
add Bob 22 Biology Chemistry
grade Alice 90
grade Alice 85
grade Bob 75
grade Charlie 80
show
exit

çıktı şöyledir:

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!

Kendin dene

extends Node

# Her öğrenci: name -> {"age": int, "grades": Array, "courses": ders adlarından oluşan bir küme}
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)

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online GDScript derleyicisi