Có đăng ký
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 45 trên 78.
Thử thách
DễKiểm tra xem một học sinh có tham gia khóa học hay không. Giữ nguyên mọi thứ bạn đã viết ở các bước trước.
1. Hàm. Bên dưới các hàm khác, viết is_enrolled(student_name: String, course: String) -> bool:
- Nếu
student_recordskhông có tên đó, in raStudent '<name>' not found.rồi trả vềfalse. - Nếu không, trả về
truekhi khóa học nằm trong tập hợp"courses"của học sinh đó, và trả vềfalsekhi không có.
2. Lệnh. Thêm một nhánh cho enrolled <name> <course>, chẳng hạn như enrolled Alice Math, phía trên ["show"]. Lệnh này in ra giá trị mà is_enrolled() trả về. Với các lệnh
add Alice 20 Math Physics
add Bob 22 Biology Chemistry
enrolled Alice Math
enrolled Alice Biology
enrolled Bob Biology
enrolled Charlie Math
exitđầu ra là:
Student 'Alice' added successfully.
Student 'Bob' added successfully.
true
false
true
Student 'Charlie' not found.
false
Goodbye!Với học sinh không tìm thấy, thông báo sẽ xuất hiện trước, sau đó là false.
Tự làm thử
extends Node
# Mỗi học viên: tên -> {"age": int, "grades": Array, "courses": tập hợp tên các khóa học}
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))
["grade", var student, var grade]:
add_grade(student, int(grade))
["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)
func add_grade(student_name: String, grade: int) -> void:
if not student_records.has(student_name):
print("Student '%s' not found." % student_name)
return
student_records[student_name]["grades"].append(grade)
print("Grade %d added for student '%s'." % [grade, student_name])
Tất cả bài học trong Logic và luồng chương trình
1Chuyên sâu về chuỗi
Các phương thức của chuỗiTìm kiếm trong chuỗiThay thế và xóa khoảng trắngTách và nốiÔn tập: Kiểm tra tên người dùng7Kiểu liệt kê
Kiểu liệt kê là gì?Định nghĩa kiểu liệt kêCác giá trị của kiểu liệt kêKiểu liệt kê trong matchÔn tập: đèn giao thông10Hàm nâng cao
Trả về nhiều giá trịHàm lambda phần 1Hàm lambda phần 2Ôn tập: sắp xếp bằng lambdaHàm đệ quy phần 1Hàm đệ quy phần 2Ôn tập: tính tổng mảng lồng nhau13Hệ thống quản lý hàng tồn kho
Tổng quan dự ánThêm mặt hàng2Ra quyết định nâng cao
So khớp với biếnĐiều kiện bảo vệ trong so khớpMẫu mảngMẫu từ điểnKiểm tra thành viênÔn tập: Bộ phân tích lệnh5Ứng dụng sổ liên lạc
Hiển thị menuThêm liên hệ8Trình quản lý hồ sơ học sinh
Tổng quan dự ánThêm học sinh3Mảng nhiều chiều
Cơ bản về mảng 2 chiềuTruy cập phần tử trong mảng 2 chiềuVòng lặp lồng nhau với mảng 2 chiềuÔn tập: mảng 2 chiềuMảng răng cưaCác mẫu phổ biến với mảng 2 chiềuÔn tập: bàn cờ6Tập hợp với từ điển
Tập hợp là gì?Từ điển như một tập hợpThêm và xóaHợp và giaoHiệu tập hợpÔn tập: Xóa phần tử trùng lặp9Tổng hợp dữ liệu nâng cao
Tính tổng các giá trịTìm giá trị nhỏ nhất và lớn nhấtSắp xếp tùy chỉnhÔn tập: Sắp xếp từ điểnTự luyện tập: Trình biên dịch GDScript online