Zusammenfassung – Einfacher Score-Tracker
Teil des Abschnitts Logic & Flow der Rust-Journey von Coddy — Lektion 14 von 66.
Aufgabe
EinfachSie erhalten zwei Eingaben: erstens eine durch Kommas getrennte Liste von Testergebnissen und zweitens ein hinzuzufügendes Ergebnis. Erstellen Sie einen Vektor aus den ursprünglichen Ergebnissen, fügen Sie das neue Ergebnis hinzu, berechnen Sie den Durchschnitt aller Ergebnisse und geben Sie die Resultate aus.
Anforderungen:
- Lesen Sie die erste Eingabe ein, die durch Kommas getrennte Ergebnisse enthält (z. B.
85,92,78) - Teilen Sie die Zeichenfolge nach Kommas auf und kürzen Sie jedes einzelne Token (trim), bevor Sie es in eine Ganzzahl umwandeln (verwenden Sie z. B.
.trim()für jedes Element nach dem Aufteilen) - Erstellen Sie einen veränderbaren Vektor (mutable vector) aus diesen Ergebnissen
- Lesen Sie die zweite Eingabe ein und konvertieren Sie diese in eine Ganzzahl (vorher trimmen)
- Verwenden Sie
.push(), um das neue Ergebnis zum Vektor hinzuzufügen - Berechnen Sie den Durchschnitt aller Ergebnisse im Vektor
- Geben Sie die Gesamtzahl der Ergebnisse aus
- Geben Sie den Durchschnittswert aus (als Ganzzahl)
Eingabe:
- Erste Zeile: Durch Kommas getrennte Ganzzahlen, die die ursprünglichen Ergebnisse darstellen (z. B.
85,92,78) - Zweite Zeile: Eine Ganzzahl, die das neue hinzuzufügende Ergebnis darstellt
Ausgabe:
- Erste Zeile: Die Gesamtzahl der Ergebnisse
- Zweite Zeile: Der Durchschnittswert (als Ganzzahl, abgerundet)
Hinweis: Rufen Sie immer .trim() für die gesamte Eingabezeile und für jedes einzelne Ergebnis-Token nach dem Aufteilen durch Komma auf. Eingabezeichenfolgen können unsichtbare Leerzeichen oder Zeilenumbruchzeichen enthalten, die beim Parsen zu einem Panic führen, wenn sie nicht entfernt werden.
Probier es selbst
use std::io;
fn main() {
// Lies die durch Kommas getrennten Punktzahlen ein
let mut scores_input = String::new();
io::stdin().read_line(&mut scores_input).expect("Failed to read line");
// Lies die neue Punktzahl ein, die hinzugefügt werden soll
let mut new_score_input = String::new();
io::stdin().read_line(&mut new_score_input).expect("Failed to read line");
// TODO: Schreibe deinen Code unten
// 1. Trenne scores_input nach Kommas und konvertiere sie in Ganzzahlen
// 2. Erstelle einen veränderbaren Vektor aus diesen Punktzahlen
// 3. Konvertiere new_score_input in eine Ganzzahl
// 4. Füge die neue Punktzahl dem Vektor hinzu
// 5. Berechne den Durchschnitt aller Punktzahlen
// Gib die Gesamtzahl der Punktzahlen aus
// println!("{}", total_scores);
// Gib die durchschnittliche Punktzahl aus
// println!("{}", average);
}Alle Lektionen in Logic & Flow
1Fortgeschrittener Kontrollfluss
Der 'match'-AusdruckAbgleichen mehrerer WerteBereiche abgleichenDer 'if let'-AusdruckSchleifen als AusdrückeRückblick – Einfacher Befehls-Parser4Daten gruppieren mit Structs
Was ist ein Struct?Übersicht über StructsZugriff auf Struct-FelderVeränderbare StructsStructs als FunktionsparameterTupel-StructsZusammenfassung – Ein Buch-Struct erstellen2Einführung in Vektoren
Was ist ein Vektor?Einen Vektor erstellenElemente mit push hinzufügenZugriff auf Vektor-ElementeÜber einen Vektor iterierenVeränderliche IterationElemente entfernenZusammenfassung – Einfacher Score-Tracker5Schlüssel-Wert-Paare mit Hash Maps
Was ist eine Hash Map?Erstellen einer Hash MapEinfügen von Schlüssel-Wert-PaarenZugreifen auf WerteIterieren über eine Hash MapAktualisieren eines WertesEntfernen eines PaaresZusammenfassung – Wortzähler8Projekt: Einfaches Artikelinventar
Projekt-SetupEinen Artikel hinzufügenLagerbestand prüfenEinen Artikel verkaufenAlles zusammenfügen11Abschluss-Herausforderungen
Wiederholung - Einzigartige ElementeWiederholung - Benutzerprofil-ValidatorWiederholung - Noten-Zusammenfassung3Kommandozeilen-To-Do-Liste
Projekt-SetupEine Aufgabe hinzufügenAlle Aufgaben anzeigenEine Aufgabe entfernenFinaler Code