Recapitulação - Contador de Palavras
Parte da seção Logic & Flow do Journey de Rust da Coddy — lição 34 de 66.
Desafio
FácilVocê receberá uma frase como entrada. Conte quantas vezes cada palavra aparece na frase e armazene as contagens em um hash map. Em seguida, imprima cada palavra única junto com sua contagem.
Requisitos:
- Importe
HashMapdestd::collections - Crie um hash map mutável com os tipos
HashMap<String, i32> - Leia a frase de entrada como uma única linha
- Divida a frase em palavras individuais usando
.split_whitespace() - Para cada palavra, use
.entry()com.or_insert(0)para inicializar a contagem em0caso a palavra não exista - Após usar
.or_insert(0), incremente a contagem em1para aquela palavra - Após processar todas as palavras, itere sobre o hash map e imprima cada palavra com sua contagem no formato:
[word]: [count]
Entrada:
- Uma única linha contendo uma frase com palavras separadas por espaços (ex:
hello world hello rust world hello)
Saída:
- Uma linha para cada palavra única no formato:
[word]: [count] - A ordem das linhas de saída pode variar entre as execuções de teste
Experimente você mesmo
use std::collections::HashMap;
use std::io;
fn main() {
// Ler a frase de entrada
let mut sentence = String::new();
io::stdin().read_line(&mut sentence).expect("Failed to read line");
let sentence = sentence.trim();
// Criar um hash map mutável para armazenar a contagem de palavras
let mut word_count: HashMap<String, i32> = HashMap::new();
// TODO: Escreva seu código abaixo
// Dividir a frase em palavras e contar cada palavra
// Imprimir cada palavra com sua contagem
}Todas as lições de Logic & Flow
1Fluxo de Controle Avançado
A Expressão 'match'Correspondência de Múltiplos ValoresCorrespondência de IntervalosA Expressão 'if let'Loops como ExpressõesRecapitulação - Parser de Comandos Simples4Agrupando Dados com Structs
O que é uma Struct?Visão Geral de StructsAcessando Campos de uma StructStructs MutáveisStructs como Parâmetros de FunçãoTuple StructsRecapitulação - Criando uma Struct Book2Introdução a Vetores
O que é um Vetor?Criando um VetorAdicionando Elementos com pushAcessando Elementos do VetorIterando sobre um VetorIteração MutávelRemovendo ElementosRecapitulação - Rastreador de Pontuação Básico5Pares Chave-Valor com Hash Maps
O que é um Hash Map?Criando um Hash MapInserindo Pares Chave-ValorAcessando ValoresIterando sobre um Hash MapAtualizando um ValorRemovendo um ParRecapitulação - Contador de Palavras8Projeto: Inventário Simples de Itens
Configuração do ProjetoAdicionando um ItemVerificando o EstoqueVendendo um ItemJuntando tudo3Lista de Tarefas via Linha de Comando
Configuração do ProjetoAdicionando uma TarefaVisualizando Todas as TarefasRemovendo uma TarefaCódigo Final