1
resposta

Faça como eu fiz: contador de caracteres

Sara está participando de um concurso de escrita, e uma das regras exige que cada palavra de seu texto tenha um limite máximo de caracteres.

Ajude Sara criando uma função que receba uma palavra e exiba a quantidade de caracteres.

Exemplo de entrada:

Digite uma palavra: tecnologia 

Saída esperada:

Essa palavra tem 10 caracteres. 
def contar_caracteres(palavra): 
    return len(palavra) 
 
palavra = input("Digite uma palavra: ") 
print(f'A palavra {palavra} tem {contar_caracteres(palavra)} caracteres.') 

Digite uma palavra: pneumoultramicroscopicossilicovulcanoconiótico
A palavra pneumoultramicroscopicossilicovulcanoconiótico tem 46 caracteres.

1 resposta

Olá, Andressa. Como vai?

Parabéns pela resolução do desafio! O seu código está impecável, muito bem estruturado e cumpre exatamente o que foi proposto no exercício. A escolha da palavra "pneumoultramicroscopicossilicovulcanoconiótico" para testar os limites do programa foi excelente e divertidíssima!

A função built-in len() do Python é, de longe, a melhor e mais eficiente maneira de contar elementos e caracteres na linguagem, pois ela acessa diretamente o atributo de tamanho do objeto na memória, tornando a operação instantânea (O(1) em termos de complexidade de tempo).

Para complementar o seu aprendizado e agregar ainda mais valor, podemos expandir essa mesma lógica para um cenário real que a Sara poderia enfrentar no concurso de escrita. Muitas vezes, os concursos limitam o tamanho de frases inteiras ou de um texto completo, e não apenas de palavras isoladas.

Se a Sara digitasse uma frase, o seu código atual contaria os espaços em branco como se fossem caracteres. Caso o concurso exija apenas a contagem de letras reais, podemos aplicar o método .replace() ou .strip() para ignorar os espaços.

Veja um exemplo prático de como evoluir a sua função para contar caracteres de uma frase inteira, desconsiderando os espaços vazios:

def contar_letras_reais(texto):
    # O método .replace(" ", "") remove todos os espaços em branco da string
    texto_sem_espacos = texto.replace(" ", "")
    return len(texto_sem_espacos)

frase = input("Digite uma frase ou texto: ")
total_letras = contar_letras_reais(frase)

print(f"O texto digitado tem {len(frase)} caracteres no total (com espaços).")
print(f"Mas contém exatamente {total_letras} letras reais (sem contar os espaços).")

Essa pequena variação é muito útil no dia a dia do desenvolvimento web, principalmente ao validar campos de formulários, tweets, ou descrições de produtos onde os espaços em branco repetidos não devem ser contabilizados.

O seu código base está perfeito e a formatação com f-strings no print ficou ótima. Continue com esse excelente ritmo de estudos!

Espero que possa ter lhe ajudado!