Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Exercício 5 - Dicionário

Vi a solução que foi posta para o exercício 5, mas gostaria de entender um pouco melhor como funciona principalmente a contagem de palavras dentro da estrutura FOR, para que detecte a mesma palavra e some mais um na contagem.
Obrigado desde já!

frase=input('\nEscreva uma frase que gostaria de ser analisada: ')
palavras=frase.split()
contagem_palavras={}
for palavra in palavras:
     contagem_palavras[palavra]=contagem_palavras.get(palavra,0)+1
print(f'O dicionário de palavras conseguido foi o seguinte: {contagem_palavras}')
1 resposta
solução!

Oi, Renato! Como vai?

Seu código está utilizando muito bem o for para percorrer cada palavra da frase. O ponto interessante está no uso do método get(): ele verifica se a palavra já existe no dicionário. Se existir, ele pega o valor atual e soma +1. Se não existir, ele começa a contagem em 0 e depois soma +1. Assim, cada vez que a mesma palavra aparece novamente, a contagem aumenta dentro do dicionário.

Uma dica interessante para o futuro é usar o método lower() para padronizar as palavras e evitar que o programa conte palavras iguais como diferentes por causa de letras maiusculas. Veja este exemplo:


frase = input('Digite uma frase: ').lower()
palavras = frase.split()
contagem = {}

for palavra in palavras:
    contagem[palavra] = contagem.get(palavra, 0) + 1

print(contagem)

Neste codigo, lower() transforma todas as palavras em minusculas antes da contagem. Isso ajuda a evitar que "Python" e "python" sejam contadas como palavras diferentes.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!