Menu
CoddyTech

Przekształcanie danych

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

challenge icon

Wyzwanie

Trudny

Przekształć 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,History

Uczeń 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,History

wynik to:

Qualified students: 2
S123: 88.33
S125: 90.67
Subjects:
Math: 2
Science: 1
History: 2
Physics: 1

S124 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

Poćwicz samodzielnie: Kompilator GDScript online