Fácil Python

Contando ocorrências com get

Enunciado

Crie um dicionário que conta quantas vezes cada palavra aparece na frase "python é legal e python é poderoso". Use get para incrementar o contador.

Requisitos

  • O dicionário final deve ter as chaves 'python', 'é', 'legal', 'e', 'poderoso'.
  • Os valores devem ser as contagens corretas.
  • Use get para obter o valor atual ou 0.

Código inicial

frase = "python é legal e python é poderoso"
contagem = {}
# Seu código aqui
print(contagem)

Saída esperada

{'python': 2, 'é': 2, 'legal': 1, 'e': 1, 'poderoso': 1}
Ver dica

Divida a frase com .split() e para cada palavra faça contagem[palavra] = contagem.get(palavra, 0) + 1.

Mostrar solução
frase = "python é legal e python é poderoso"
contagem = {}

# Divide a frase em palavras e conta cada uma
for palavra in frase.split():
    contagem[palavra] = contagem.get(palavra, 0) + 1

print(contagem)

Passo a passo

  1. frase.split() separa a string em uma lista de palavras usando espaços como delimitador.
  2. Inicializamos contagem como um dicionário vazio.
  3. Para cada palavra, usamos contagem.get(palavra, 0) para obter o valor atual ou 0 se a palavra ainda não estiver no dicionário.
  4. Somamos 1 e atribuímos de volta à chave palavra.
  5. Ao final, contagem tem a frequência de cada palavra.
  6. O print mostra o dicionário na ordem de primeira inserção.

Por que funciona

O método get evita o erro KeyError ao acessar chaves inexistentes. Ele retorna o valor padrão (0) quando a chave não existe, permitindo incrementar com segurança. A ordem de inserção é preservada, então a saída segue a ordem das palavras na frase.

Erros comuns

  • Usar contagem[palavra] += 1 sem inicializar: gera KeyError na primeira ocorrência.
  • Esquecer o + 1: a contagem fica sempre 0.
  • Usar contagem.get(palavra) sem o padrão: retorna None e a soma falha com TypeError.

Outra forma de resolver

Usar collections.Counter:

from collections import Counter
contagem = Counter(frase.split())
print(dict(contagem))

Preferível quando se precisa de contagens rápidas e métodos extras como most_common.

Saída esperada

{'python': 2, 'é': 2, 'legal': 1, 'e': 1, 'poderoso': 1}