Durchschnittsnote eines Schülers berechnen
Teil des Abschnitts Logik & Ablauf der PHP-Journey von Coddy. Lektion 36 von 68.
Aufgabe
EinfachDu erhältst zwei Eingaben: ein JSON-Objekt, das das vorhandene Notenbuch der Studierenden darstellt, und den Namen einer studierenden Person. Das Notenbuch verwendet die Namen der Studierenden als Schlüssel. Jede Person hat ein "id" und ein "grades"-Array mit den Testergebnissen.
Lies beide Eingaben ein, wandle den JSON-String in ein Notenbuch-Array um, finde die angegebene Person, berechne deren Durchschnittsnote und gib das Ergebnis auf 2 Dezimalstellen gerundet aus.
So berechnest du den Durchschnitt: Addiere alle Noten im grades-Array der Person und teile die Summe durch die Anzahl der Noten.
Eingabeformat:
- Erste Zeile: Ein JSON-Objekt, das das vorhandene Notenbuch darstellt (Beispiel:
{"Alice":{"id":101,"grades":[85,92,78]},"Bob":{"id":102,"grades":[90,88,95]},"Charlie":{"id":103,"grades":[76,84,89]}}) - Zweite Zeile: Der Name der studierenden Person (Beispiel:
Alice)
Erwartete Ausgabe: Der Durchschnitt der Person, gerundet mit round($average, 2) und unverändert ausgegeben, sodass nachgestellte Nullen weggelassen werden (Beispiele: 85, 88.4, 76.25)
Probier es selbst
<?php
// Lies die JSON-Zeichenfolge mit den Noten ein
$gradebookJson = fgets(STDIN);
// Lies den Namen des Schülers ein
$studentName = trim(fgets(STDIN));
// Wandle JSON in ein Array um
$gradebook = (array)json_decode($gradebookJson, true);
// TODO: Schreibe deinen Code unten
// Finde den Schüler, berechne seinen Notendurchschnitt und runde auf 2 Dezimalstellen
// Gib das Ergebnis aus
echo $average;
?>Alle Lektionen in Logik & Ablauf
1Fortgeschrittene Funktionen
Anonyme FunktionenClosures und 'use'Arrow FunctionsCallback-FunktionenVerwendung von 'call_user_func'VariablenfunktionenReferenzübergabeRekursive FunktionenRückblick: Funktions-Medley4Mehrdimensionale Arrays
Ein 2D-Array erstellenZugriff auf 2D-Array-ElementeÄndern von 2D-Array-ElementenIterieren mit verschachtelten Schleifen2D assoziative ArraysZusammenfassung: Einfache Gitter-Übung2Fortgeschrittene Array-Manipulationen
Hinzufügen mit 'array_push'Entfernen mit 'array_pop'Hinzufügen mit 'array_unshift'Entfernen mit 'array_shift'Indizierte Arrays zusammenführenAssoziative Arrays zusammenführenExtrahieren mit 'array_slice'Werte mit 'in_array'Schlüssel mit 'array_search'Rückblick: Playlist-Übung5Schüler-Notenbuch
Projekt-Setup: DatenstrukturEinen neuen Schüler hinzufügenEinem Schüler eine Note hinzufügenDurchschnittsnote eines Schülers berechnenDen besten Schüler findenEin Zeugnis erstellen3Arrays sortieren
Indizierte Arrays aufsteigend sortierenIndizierte Arrays absteigend sortierenAssoziative Arrays nach Wert sortierenAssoziative Arrays nach Schlüssel sortierenNatürliche SortierungBenutzerdefiniertes Sortieren mit 'usort'Recap: Leaderboard-SortierungÜbe selbstständig: Online-PHP-Compiler