Colegas, minha dúvida é sobre o seguinte código passado na aula:
meu_texto = 'Bem vindo meu nome é Guilherme eu gosto muito de nomes e tenho meu cachorro e gosto muito de cachorro'
meu_texto = meu_texto.lower()
aparicoes = {}
for palavra in meu_texto.split():
ate_agora = aparicoes.get(palavra, 0)
aparicoes[palavra] = ate_agora + 1
print(aparicoes)
Na hora que eu faço o "ate_agora + 1" por que os resultados das chaves não aparecem com 1 a mais? Vou tentar transcrever minha dúvida escrevendo a primeira iteração do "meu_texto.split()" e fazendo em forma de comentários o meu questinamento.
for palavra in meu_texto.split():
ate_agora = aparicoes.get(palavra, 0) # A 1ª iteração é com a palavra 'bem' e o valor dela é 1, valor este que será atribuído a variável 'ate_agora'
aparicoes[palavra] = ate_agora + 1 # O 1 do 'ate_agora' + o 1 do código, gera um valor de 2 para a chave 'bem' (que equivale ao aparicoes['bem'])
print(aparicoes) # Mas quando a chave 'bem' é escrita depois de toda a iteração ela aparece com o valor 1. Por que não aparece com valor 2?
Se alguém puder me ajudar a esclarecer essa minha dúvida ficarei muito agradecido. Abraço!