Menu
CoddyTech

Tambah Nilai

Termasuk bagian Logika dan Alur dalam perjalanan GDScript di Coddy. Pelajaran 44 dari 78.

challenge icon

Tantangan

Mudah

Catat nilai para siswa. Pertahankan semua yang kamu tulis pada langkah sebelumnya.

1. Fungsinya. Di bawah fungsi lainnya, tulis add_grade(student_name: String, grade: int) -> void:

  • Jika student_records tidak memiliki nama tersebut, cetak Student '<name>' not found. lalu kembalikan.
  • Jika tidak, tambahkan nilai ke array "grades" milik siswa tersebut, lalu cetak Grade <grade> added for student '<name>'.

Nilai-nilai tersebut berupa array, bukan set, karena siswa bisa mendapat nilai yang sama dua kali dan keduanya dihitung.

2. Perintahnya. Tambahkan cabang untuk grade <name> <grade>, misalnya grade Alice 90, di atas ["show"]. Cabang ini memanggil add_grade() dengan nilai yang dikonversi menjadi int. Untuk perintah berikut:

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

keluaran yang dihasilkan adalah:

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!

Coba sendiri

extends Node

# Setiap siswa: nama -> {"age": int, "grades": Array, "courses": set nama kursus}
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)

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler GDScript online