Dodaj studenta
Część sekcji Logika i przepływ programu ścieżki GDScript w Coddy. Lekcja 43 z 78.
Wyzwanie
ŁatwyDodaj 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_recordszawiera już to imię, wypiszStudent '<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 wypiszStudent '<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
exitwynik 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
1Łańcuchy znaków — zagadnienia zaawansowane
Metody łańcuchów znakówWyszukiwanie w łańcuchach znakówZastępowanie i przycinanieDzielenie i łączeniePodsumowanie — sprawdzanie nazwy użytkownika4Słowniki, część 2
Zagnieżdżone słownikiTablice słownikówŁączenie słownikówKopiowanie słownikówPodsumowanie – licznik częstotliwości7Typy wyliczeniowe
Czym jest typ wyliczeniowy?Definiowanie typu wyliczeniowegoWartości typu wyliczeniowegoTypy wyliczeniowe w matchPowtórka – sygnalizacja świetlna10Zaawansowane funkcje
Zwracanie wielu wartościFunkcje lambda — część 1Funkcje lambda — część 2Powtórka — sortowanie za pomocą lambdaFunkcje rekurencyjne — część 1Funkcje rekurencyjne — część 2Powtórka — sumowanie zagnieżdżonej tablicy13System zarządzania zapasami
Omówienie projektuDodawanie produktu2Zaawansowane podejmowanie decyzji
Dopasowanie ze zmiennymiStrażnicy dopasowaniaWzorce tablicWzorce słownikówSprawdzanie przynależnościPowtórka — parser poleceń5Aplikacja książki kontaktów
Wyświetlanie menuDodawanie kontaktu8Menedżer danych studentów
Przegląd projektuDodaj studenta3Tablice wielowymiarowe
Podstawy tablic 2DDostęp do elementów tablic 2DPętle zagnieżdżone z tablicami 2DPodsumowanie — tablice 2DTablice postrzępioneTypowe wzorce tablic 2DPodsumowanie — plansza do gry6Zbiory ze słownikami
Czym jest zbiór?Słownik jako zbiórDodawanie i usuwanieSuma i część wspólnaRóżnica zbiorówPowtórka – usuwanie duplikatów9Zaawansowana agregacja danych
Sumowanie wartościZnajdowanie minimum i maksimumSortowanie niestandardowePodsumowanie – Sortownik słownikówPoćwicz samodzielnie: Kompilator GDScript online