Escreva um programa que leia frases, repetidamente, e que gere um dicionário para cada frase lida. As chaves do dicionário serão os caracteres digitados, e os valores devem consistir no número de vezes que o caractere aparece na frase. O programa deve exibir, para cada frase, seu dicionário correspondente e ser encerrado quando o usuário digitar 1.
Exemplo: Frase -> Dados
Dicionário -> D: 2, a: 1, d: 2, o: 1, s: 1

Passo 1

Beleza, então o exercício pede que a gente faça um programa em Python que:
  1. Leia uma frase do usuário várias vezes;
  2. Para cada frase, monte um dicionário cuja chave é cada caractere da frase e o valor é quantas vezes esse caractere aparece ali;
  3. Mostre esse dicionário na tela;
  4. Pare de pedir frases quando o usuário digitar exatamente 1.
    O conteúdo aqui é: laços de repetição (while), estruturas de dados do tipo dicionário (dict) e como percorrer strings. A gente vai precisar entender bem como criar e atualizar um dicionário em Python e como usar o input() pra ler entrada.

Passo 2

Primeiro, vamos montar um laço infinito com while True: e ler a frase com input(). Se a frase for "1", a gente dá break pra sair do programa. Assim a gente já cuida do ponto de parada.

Passo 3

Depois de ler a frase (e garantir que não é "1"), vamos criar um dicionário vazio:
contagem = {}
Em Python, um dicionário é uma coleção de pares chave:valor. Aqui cada chave vai ser um caractere da frase e o valor é quantas vezes ele apareceu.

Passo 4

Aí é só percorrer cada caractere da frase com um for:
for char in frase:
    if char in contagem:
        contagem[char] += 1
    else:
        contagem[char] = 1
Explicando:
  • for char in frase: passa por cada letra (ou espaço, ou símbolo) da string.
  • if char in contagem: verifica se já temos esse caractere no dicionário.
  • Se já tiver, a gente só adiciona 1 ao contador (+= 1).
  • Se não tiver, inicializa com 1 (= 1).

Passo 5

Pronto, depois desse loop contagem já tem a frequência de cada caractere. Agora é só exibir:
print(contagem)
Isso vai mostrar algo como {'D': 2, 'a': 1, 'd': 2, 'o': 1, 's': 1} para a frase "Dados".

Passo 6

E volta pro começo do while True: pra ler a próxima frase, até o usuário digitar 1.

Resposta

Segue o código completo em Python, do jeitinho que a gente explicou:
while True:
    frase = input("Digite uma frase (ou 1 para sair): ")
    if frase == "1":
        print("Programa encerrado. Até mais!")
        break

    contagem = {}  # dicionário vazio

    for char in frase:
        if char in contagem:
            contagem[char] += 1
        else:
            contagem[char] = 1

    print(contagem)
Exemplo de uso:
Se eu digitar Dados, a saída será
{'D': 2, 'a': 1, 'd': 2, 'o': 1, 's': 1}
Aí o programa pede outra frase até você digitar 1!

Exercícios relacionados