Récapitulatif - Compteur de mots
Fait partie de la section Logic & Flow du Journey Rust de Coddy — leçon 34 sur 66.
Défi
FacileVous recevrez une phrase en entrée. Comptez combien de fois chaque mot apparaît dans la phrase et stockez les décomptes dans une table de hachage (hash map). Ensuite, affichez chaque mot unique accompagné de son décompte.
Exigences :
- Importez
HashMapdepuisstd::collections - Créez une table de hachage mutable avec les types
HashMap<String, i32> - Lisez la phrase d'entrée comme une seule ligne
- Divisez la phrase en mots individuels en utilisant
.split_whitespace() - Pour chaque mot, utilisez
.entry()avec.or_insert(0)pour initialiser le décompte à0si le mot n'existe pas - Après avoir utilisé
.or_insert(0), incrémentez le décompte de1pour ce mot - Après avoir traité tous les mots, parcourez la table de hachage et affichez chaque mot avec son décompte au format :
[word]: [count]
Entrée :
- Une seule ligne contenant une phrase avec des mots séparés par des espaces (par exemple,
hello world hello rust world hello)
Sortie :
- Une ligne pour chaque mot unique au format :
[word]: [count] - L'ordre des lignes de sortie peut varier d'un test à l'autre
Essayez vous-même
use std::collections::HashMap;
use std::io;
fn main() {
// Lire la phrase d'entrée
let mut sentence = String::new();
io::stdin().read_line(&mut sentence).expect("Failed to read line");
let sentence = sentence.trim();
// Créer un hash map mutable pour stocker le décompte des mots
let mut word_count: HashMap<String, i32> = HashMap::new();
// TODO: Écrivez votre code ci-dessous
// Diviser la phrase en mots et compter chaque mot
// Afficher chaque mot avec son décompte
}Toutes les leçons de Logic & Flow
1Structures de contrôle avancées
L'expression 'match'Filtrage de plusieurs valeursFiltrage d'intervallesL'expression 'if let'Les boucles en tant qu'expressionsRécapitulatif - Analyseur de commandes simple4Regrouper des données avec les structures
Qu'est-ce qu'une structure ?Aperçu des structuresAccéder aux champs d'une structureStructures mutablesLes structures comme paramètres de fonctionStructures tupleRécapitulatif - Créer une structure Book2Introduction aux vecteurs
Qu'est-ce qu'un vecteur ?Créer un vecteurAjouter des éléments avec pushAccéder aux éléments d'un vecteurItérer sur un vecteurItération mutableSupprimer des élémentsRécapitulatif - Suivi de score basique5Paires clé-valeur avec les Hash Maps
Qu'est-ce qu'une Hash Map ?Créer une Hash MapInsérer des paires clé-valeurAccéder aux valeursParcourir une Hash MapMettre à jour une valeurSupprimer une paireRécapitulatif - Compteur de mots8Projet : Inventaire d'articles simple
Configuration du projetAjouter un articleVérifier le stockVendre un articleAssembler le tout3Liste de tâches en ligne de commande
Configuration du projetAjouter une tâcheAfficher toutes les tâchesSupprimer une tâcheCode final