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Übe selbstständig: Online-Rust-Compiler