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

[Solução] Contador de caracteres

def conta_caracteres(texto: str) -> int:
    return len(texto)

def conta_caracteres2(texto: str) -> int:
    contador: int = 0
    for letra in texto:
        contador += 1
    
    return contador

def main() -> None:
    separador: str = '\n-------------------------------\n'
    # Já existe uma função built-in em python para essa finalidade "len()"
    print(f'Essa palavra tem {len(input("Digite uma palavra: ").strip())} caracteres.')

    print(separador)

    # É possível criar uma função que faça exatamente a mesma coisa, mas é redundante
    print(f'Essa palavra tem {conta_caracteres(input("Digite uma palavra: ").strip())} caracteres.')

    print(separador)

    # Esse exemplo utiliza um laço "for" para contar ao invés do "len()"
    print(f'Essa palavra tem {conta_caracteres2(input("Digite uma palavra: ").strip())} caracteres.')

if __name__ == '__main__':
    main()

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta
solução!

Oi, Mozert! Como vai?

Agradeço por compartilhar.

A sua solução está fantástica. É um excelente exemplo de como resolver um problema de diferentes maneiras em Python. Gostei muito da forma como você organizou o código com a função main e o if __name__ == '__main__', além do ótimo uso de type hints e do método .strip(). Seus comentários, explicando a redundância de recriar a função len(), mostram uma ótima compreensão de como programar de forma pragmática.

Uma dica interessante para o futuro, já que você demonstrou um ótimo domínio de laços e funções, é explorar o módulo collections. Ele possui ferramentas de alta performance, como a classe Counter, que pode contar a frequência de cada caractere em uma string de forma muito eficiente.


from collections import Counter

texto = 'desenvolvimento'
frequencia_letras = Counter(texto)

# O resultado e um objeto semelhante a um dicionario
print(frequencia_letras)
# Saida: Counter({'e': 4, 'n': 2, 'v': 2, 'o': 2, 'd': 1, 's': 1, 'i': 1, 'l': 1, 'm': 1, 't': 1})

# Podemos acessar a contagem de uma letra especifica
print(f"A letra 'e' aparece {frequencia_letras['e']} vezes.")

Essa é uma ferramenta muito boa e "Pythonica" para tarefas de contagem e análise de frequência, que vai além de simplesmente contar o total de caracteres.

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