Zusammenfassung – Wortzähler
Teil des Abschnitts Logic & Flow der Rust-Journey von Coddy — Lektion 34 von 66.
Aufgabe
EinfachSie erhalten einen Satz als Eingabe. Zählen Sie, wie oft jedes Wort in dem Satz vorkommt, und speichern Sie die Häufigkeiten in einer Hash-Map. Geben Sie dann jedes eindeutige Wort zusammen mit seiner Anzahl aus.
Anforderungen:
- Importieren Sie
HashMapausstd::collections - Erstellen Sie eine veränderbare Hash-Map mit den Typen
HashMap<String, i32> - Lesen Sie den Eingabesatz als eine einzelne Zeile ein
- Teilen Sie den Satz mit
.split_whitespace()in einzelne Wörter auf - Verwenden Sie für jedes Wort
.entry()mit.or_insert(0), um den Zähler auf0zu initialisieren, falls das Wort noch nicht existiert - Erhöhen Sie nach der Verwendung von
.or_insert(0)den Zähler für dieses Wort um1 - Iterieren Sie nach der Verarbeitung aller Wörter über die Hash-Map und geben Sie jedes Wort mit seiner Anzahl im Format
[word]: [count]aus
Eingabe:
- Eine einzelne Zeile, die einen Satz mit durch Leerzeichen getrennten Wörtern enthält (z. B.
hello world hello rust world hello)
Ausgabe:
- Eine Zeile für jedes eindeutige Wort im Format:
[word]: [count] - Die Reihenfolge der Ausgabezeilen kann zwischen den Testläufen variieren
Probier es selbst
use std::collections::HashMap;
use std::io;
fn main() {
// Eingabesatz lesen
let mut sentence = String::new();
io::stdin().read_line(&mut sentence).expect("Failed to read line");
let sentence = sentence.trim();
// Erstelle eine veränderbare Hash-Map, um die Wortanzahl zu speichern
let mut word_count: HashMap<String, i32> = HashMap::new();
// TODO: Schreiben Sie Ihren Code unten
// Den Satz in Wörter aufteilen und jedes Wort zählen
// Jedes Wort mit seiner Anzahl ausgeben
}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