Przekształcanie danych
Część sekcji Logika i przepływ programu ścieżki GDScript w Coddy. Lekcja 78 z 78.
Wyzwanie
TrudnyPrzekształć rekordy uczniów w raport. Program odczytuje liczbę całkowitą n, a następnie n rekordów. Rekord ma trzy pola oddzielone znakiem ;: identyfikator ucznia, oceny (liczby całkowite oddzielone przecinkami) oraz przedmioty (oddzielone przecinkami):
S123;88,92,85;Math,Science,HistoryUczeń kwalifikuje się, gdy każda ocena jest wyższa niż 70 (ocena równa dokładnie 70 nie kwalifikuje). Sprawdź to za pomocą metody tablicy all().
Wypisz Qualified students: oraz ich liczbę. Następnie dla każdego zakwalifikowanego ucznia, w kolejności wejściowej, wypisz identyfikator, : oraz średnią ocen z dwoma miejscami po przecinku. Potem wypisz Subjects: i, dla każdego przedmiotu, którego uczy się co najmniej jeden zakwalifikowany uczeń, nazwę przedmiotu, : oraz liczbę zakwalifikowanych uczniów, którzy się go uczą, w kolejności pierwszego wystąpienia przedmiotu.
Dla tych danych wejściowych:
3
S123;88,92,85;Math,Science,History
S124;65,95,80;Math,Science,English
S125;91,89,92;Math,Physics,Historywynik to:
Qualified students: 2
S123: 88.33
S125: 90.67
Subjects:
Math: 2
Science: 1
History: 2
Physics: 1S124 nie kwalifikuje się z powodu oceny 65, więc English nie jest uwzględniany. Jeśli nie ma zakwalifikowanych uczniów, wynik kończy się wierszem Subjects:.
Spróbuj swoich sił
extends Node
func _ready():
var n := int(OS.read_string_from_stdin())
# Wczytaj n rekordów, a następnie wypisz zakwalifikowanych uczniów i przedmioty
pass
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