학생 추가
Coddy GDScript 여정의 논리와 흐름 섹션에 포함된 레슨. 78개 중 43번째.
챌린지
쉬움학생들을 기록에 추가하세요. 이전 단계에서 작성한 내용을 모두 유지하세요.
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 컴파일러