Menu
CoddyTech

Dodaj studenta

Część sekcji Logika i przepływ programu ścieżki GDScript w Coddy. Lekcja 43 z 78.

challenge icon

Wyzwanie

Łatwy

Dodaj uczniów do rejestru. Zachowaj wszystko, co napisałeś w poprzednich krokach.

1. Funkcja. Poniżej _ready() napisz add_student(student_name: String, age: int, courses: Array) -> void:

  • Jeśli student_records zawiera już to imię, wypisz Student '<name>' already exists. i zakończ działanie funkcji.
  • W przeciwnym razie utwórz zbiór kursów (słownik, w którym każdy kurs jest kluczem, a jego wartością jest true) i zapisz ucznia pod jego imieniem jako słownik z trzema kluczami: "age" (wiek), "grades" (pusta tablica) i "courses" (zbiór). Następnie wypisz Student '<name>' added successfully.

2. Polecenie. Polecenie add Alice 20 Math Physics zawiera imię, wiek i dowolną liczbę kursów. Dodaj tę gałąź do match, powyżej ["show"]:

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

.. pozwala wzorcowi dopasować kolejne kursy, a parts.slice(3) to tablica tych kursów. Dla poleceń

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

wynik to:

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!

Spróbuj swoich sił

extends Node

# Każdy student: name -> {"age": int, "grades": Array, "courses": zbiór nazw kursów}
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

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator GDScript online