Questão FC331126
Considere o seguinte trecho de código em Python: def contar_ocorrencias(frase, letra): return frase.count(letra) mensagens = { 'msg1': 'Python é uma linguagem de programação.', 'ms
Linguagens de Programação
FGV · 2024
Considere o seguinte trecho de código em Python:
def contar_ocorrencias(frase, letra):
return frase.count(letra)
mensagens = {
'msg1': 'Python é uma linguagem de programação.',
'msg2': 'Aprender Python é divertido!',
'msg3': 'Python é utilizado em desenvolvimento web.'
}
letra_cont = 'a'
for chave, valor in mensagens.items():
qtd = contar_ocorrencias(valor, letra_cont)
print(f"{chave}: A letra '{letra_cont}' aparece {qtd} vezes.")
Ao final da execução desse código, o resultado exibido no console é:
msg1: A letra 'a' aparece 4 vezes.
msg2: A letra 'a' aparece 0 vezes.
msg3: A letra 'a' aparece 1 vezes.
O código ainda funcionará corretamente se o trecho definido como ‘qtd = contar_ocorrencias(valor, letra_cont)’ for substituído por:
- qtd = chave.count(valor)
- qtd = chave.count(letra_cont)
- qtd = valor.count(chave)
- qtd = len([letra for letra in valor if letra == letra_cont])
- qtd = sum(1 for letra in chave if letra == letra_cont)
Mostrar resposta e comentário
Gabarito
D
Comentário do professor
A expressão qtd = len([letra for letra in valor if letra == letra_cont]) usa uma compreensão de lista para percorrer cada caractere de valor (a string) e adicionar à lista somente as letras que são iguais a letra_cont.
Cada elemento gerado pela compreensão corresponde a uma ocorrência válida. Em seguida, len(…) retorna o tamanho dessa lista, ou seja, a quantidade de ocorrências encontradas.
Funcionalmente, essa construção produz o mesmo resultado de uma contagem explícita: ela varre a string uma vez e conta as correspondências, preservando a sensibilidade a maiúsculas/minúsculas conforme os valores originais.
É uma solução clara e idiomática em Python, fácil de entender e que mantém a complexidade linear \(O(n)\) em relação ao tamanho da string.
Conteúdo do catálogo FC Concursos · Atualizado em