添加学生
本课属于 Coddy GDScript 学习旅程的“逻辑与流程”单元。第 43 课,共 78 课。
挑战
简单将学生添加到记录中。保留你在前面步骤中写的所有内容。
1. 函数。在 _ready() 下方,编写 add_student(student_name: String, age: int, courses: Array) -> void:
- 如果
student_records中已经有这个名字,就打印Student '<name>' already exists.并返回。 - 否则,将这些课程组成一个集合(一个字典,其中每门课程都是一个键,值为
true),并将学生以其姓名为键存储为字典,其中包含三个键:"age"(年龄)、"grades"(空数组)和"courses"(课程集合)。然后打印Student '<name>' added successfully.
2. 命令。命令 add Alice 20 Math Physics 包含姓名、年龄和任意数量的课程。在 match 中、["show"] 上方添加这个分支:
["add", var student, var age, ..]:
add_student(student, int(age), parts.slice(3)).. 可让模式匹配后续的课程,而 parts.slice(3) 是这些课程组成的数组。对于以下命令
add Alice 20 Math Physics
add Bob 22 Biology Chemistry
show
exit输出为:
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!亲手试试
extends Node
# 每个学生:name -> {"age": int, "grades": Array, "courses":课程名称的集合}
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
逻辑与流程中的所有课
自己练习: GDScript 在线编译器