Datentransformator
Teil des Abschnitts Logik & Ablaufsteuerung der GDScript-Journey von Coddy. Lektion 78 von 78.
Aufgabe
SchwerWandle 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,HistoryEin 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,Historylautet die Ausgabe:
Qualified students: 2
S123: 88.33
S125: 90.67
Subjects:
Math: 2
Science: 1
History: 2
Physics: 1S124 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
1Strings im Detail
String-MethodenIn Strings suchenErsetzen und TrimmenAufteilen und ZusammenfügenRückblick – Benutzernamen prüfen4Wörterbücher Teil 2
Verschachtelte WörterbücherArrays aus WörterbüchernWörterbücher zusammenführenWörterbücher kopierenWiederholung – Häufigkeitszähler10Fortgeschrittene Funktionen
Mehrere Werte zurückgebenLambda-Funktionen Teil 1Lambda-Funktionen Teil 2Wiederholung – Sortieren mit LambdaRekursive Funktionen Teil 1Rekursive Funktionen Teil 2Wiederholung – Verschachteltes Array summieren13Inventarverwaltungssystem
ProjektübersichtArtikel hinzufügen2Fortgeschrittene Entscheidungsfindung
Match mit VariablenMatch-GuardsArray-MusterDictionary-MusterMitgliedschaftsprüfungenRückblick – Befehlsparser5Kontaktbuch-Anwendung
Menü anzeigenKontakt hinzufügen8Schülerdatenverwaltung
ProjektübersichtSchüler hinzufügen3Mehrdimensionale Arrays
Grundlagen zu 2D-ArraysAuf Elemente in 2D-Arrays zugreifenVerschachtelte Schleifen mit 2D-ArraysWiederholung – 2D-ArraysGezackte ArraysGängige Muster für 2D-ArraysWiederholung – Spielbrett6Mengen mit Dictionaries
Was ist eine Menge?Dictionary als MengeHinzufügen und EntfernenVereinigung und SchnittmengeMengendifferenzWiederholung – Duplikate entfernen9Fortgeschrittene Datenaggregation
Werte summierenMinimum und Maximum findenBenutzerdefiniertes SortierenRückblick – Wörterbuch-Sortierer12Einfache Fehlerbehandlung
Was ist Fehlerbehandlung?Eingaben validierenGuard ClausesFehlercodes zurückgebenRückblick – Sichere DivisionÜbe selbstständig: Online-GDScript-Compiler