Menu
CoddyTech

Datentransformator

Teil des Abschnitts Logik & Ablaufsteuerung der GDScript-Journey von Coddy. Lektion 78 von 78.

challenge icon

Aufgabe

Schwer

Wandle Schülerdatensätze in einen Bericht um. Das Programm liest eine ganze Zahl n und anschließend n Datensätze. Ein Datensatz hat drei durch ; getrennte Felder: eine Schüler-ID, die Noten (durch Kommas getrennte ganze Zahlen) und die Fächer (durch Kommas getrennt):

S123;88,92,85;Math,Science,History

Ein Schüler ist qualifiziert, wenn jede Note über 70 liegt (mit einer Note von genau 70 ist man nicht qualifiziert). Prüfe dies mit der Array-Methode all().

Gib Qualified students: und deren Anzahl aus. Gib dann für jeden qualifizierten Schüler in der Eingabereihenfolge die ID, : und den Notendurchschnitt mit zwei Dezimalstellen aus. Gib danach Subjects: und für jedes Fach, das von mindestens einem qualifizierten Schüler belegt wird, das Fach, : und die Anzahl der qualifizierten Schüler aus, die es belegen, und zwar in der Reihenfolge, in der die Fächer zum ersten Mal vorkommen.

Für diese Eingaben:

3
S123;88,92,85;Math,Science,History
S124;65,95,80;Math,Science,English
S125;91,89,92;Math,Physics,History

lautet die Ausgabe:

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

S124 ist wegen der Note 65 nicht qualifiziert, daher wird English nicht gezählt. Wenn es keine qualifizierten Schüler gibt, endet die Ausgabe mit der Zeile Subjects:.

Probier es selbst

extends Node

func _ready():
	var n := int(OS.read_string_from_stdin())
	# Lies n Datensätze ein und gib dann die qualifizierten Studierenden und die Fächer aus
	pass

Alle Lektionen in Logik & Ablaufsteuerung

Übe selbstständig: Online-GDScript-Compiler