Durchschnittsnote eines Schülers berechnen
Teil des Abschnitts Logik & Ablauf der PHP-Journey von Coddy — Lektion 36 von 68.
Aufgabe
EinfachSie erhalten zwei Eingaben: ein JSON-Objekt, das das vorhandene Notenbuch der Schüler darstellt, und den Namen eines Schülers. Das Notenbuch verwendet Schülernamen als Schlüssel, wobei jeder Schüler eine "id" und ein "grades"-Array mit seinen Testergebnissen hat.
Lesen Sie beide Eingaben ein, konvertieren Sie den JSON-String in ein Notenbuch-Array, suchen Sie den angegebenen Schüler, berechnen Sie seine Durchschnittsnote und geben Sie das Ergebnis auf 2 Dezimalstellen gerundet aus.
Um den Durchschnitt zu berechnen: Summieren Sie alle Noten im grades-Array des Schülers und teilen Sie diese 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 des Schülers (Beispiel:
Alice)
Erwartete Ausgabe: Die Durchschnittsnote des Schülers, gerundet auf 2 Dezimalstellen (Beispiel: 85.00)
Probier es selbst
<?php
// Lies den Notenbuch-JSON-String
$gradebookJson = fgets(STDIN);
// Lies den Namen des Studenten
$studentName = trim(fgets(STDIN));
// Konvertiere JSON in ein Array
$gradebook = (array)json_decode($gradebookJson, true);
// TODO: Schreibe deinen Code unten
// Finde den Studenten, berechne seine Durchschnittsnote 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