Menu
CoddyTech

Thêm học sinh

Thuộc phần Logic và luồng chương trình trong hành trình GDScript của Coddy. Bài học 43 trên 78.

challenge icon

Thử thách

Dễ

Thêm học sinh vào hồ sơ. Giữ lại mọi thứ bạn đã viết ở các bước trước.

1. Hàm. Bên dưới _ready(), viết add_student(student_name: String, age: int, courses: Array) -> void:

  • Nếu student_records đã có tên đó, hãy in ra Student '<name>' already exists. rồi trả về.
  • Nếu không, hãy tạo một tập hợp các khóa học (một từ điển dùng mỗi khóa học làm khóa và true làm giá trị), rồi lưu học sinh theo tên của họ dưới dạng một từ điển có ba khóa: "age" (tuổi), "grades" (một mảng rỗng) và "courses" (tập hợp đó). Sau đó, in ra Student '<name>' added successfully.

2. Lệnh. Lệnh add Alice 20 Math Physics chứa tên, tuổi và bất kỳ số lượng khóa học nào. Thêm nhánh này vào match, phía trên ["show"]:

["add", var student, var age, ..]:
	add_student(student, int(age), parts.slice(3))

.. cho phép mẫu khớp với các khóa học theo sau, còn parts.slice(3) là mảng chứa những khóa học đó. Với các lệnh sau

add Alice 20 Math Physics
add Bob 22 Biology Chemistry
show
exit

đầu ra là:

Student 'Alice' added successfully.
Student 'Bob' added successfully.
{ "Alice": { "age": 20, "grades": [], "courses": { "Math": true, "Physics": true } }, "Bob": { "age": 22, "grades": [], "courses": { "Biology": true, "Chemistry": true } } }
Goodbye!

Tự làm thử

extends Node

# Mỗi học viên: name -> {"age": int, "grades": Array, "courses": tập hợp tên khóa học}
var student_records := {}

func _ready():
	while true:
		var parts := Array(OS.read_string_from_stdin().split(" ", false))
		match parts:
			["show"]:
				print(student_records)
			["exit"]:
				print("Goodbye!")
				break

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch GDScript online