Olá, Vitor Almeida e Williarde Souza,
Sou aprendiz de programação ainda, mas realizei um teste com o primeiro parágrafo da Wikipédia em japonês: https://ja.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC
Usei o mesmo código do exercício pelo notebook Colab. A contagem foi executada normalmente com o módulo collections. Este foi o resultado:
# Contador de letras
from collections import Counter
texto_1 = '''
日本国(にほんこく、にっぽんこく、英: Japan)、または日本(にほん、にっぽん)は、東アジアに位置する民主制国家[1]。首都は東京都[注 3][2][3]。
全長3500キロメートル以上にわたる国土は、主に日本列島[注 7]および千島列島・南西諸島・伊豆諸島・小笠原諸島などの弧状列島により構成され[3][4]、大部分が温帯に属するが、北部や島嶼部では亜寒帯や熱帯の地域がある[5][6]。
'''
quantidade_de_letras_1 = Counter(texto_1.lower())
total_1 = sum(quantidade_de_letras_1.values()) - quantidade_de_letras_1['\n']
print('Total de caracteres na 1º texto', total_1)
print("Quebra de linhas '%sn' foram omitidas no total de caracteres.\n"%(chr(92)))
for cada_letra in quantidade_de_letras_1:
contagem = quantidade_de_letras_1[cada_letra]
presenca = contagem / total_1 * 100
if cada_letra == '\n':
print(f"Caractere '%sn': {contagem} Frequência: {presenca:.2f}"%(chr(92)), end='')
print('%')
else:
print(f"Caractere '{cada_letra}': {contagem} Frequência: {presenca:.2f}%")
Resultou em (não há espaço para exibir tudo):
Total de caracteres na 1º texto 200
Quebra de linhas '\n' foram omitidas no total de caracteres.
Caractere '\n': 4 Frequência: 2.00%
Caractere ' ': 7 Frequência: 3.50%
Caractere '日': 3 Frequência: 1.50%
Caractere '本': 3 Frequência: 1.50%
Caractere '国': 3 Frequência: 1.50%
Caractere '(': 2 Frequência: 1.00%
Caractere 'に': 9 Frequência: 4.50%
Caractere 'ほ': 2 Frequência: 1.00%
Caractere 'ん': 4 Frequência: 2.00%
Caractere 'こ': 2 Frequência: 1.00%
Caractere 'く': 2 Frequência: 1.00%
Caractere '、': 8 Frequência: 4.00%
Caractere 'っ': 2 Frequência: 1.00%
Caractere 'ぽ': 2 Frequência: 1.00%
Caractere '英': 1 Frequência: 0.50%
Caractere ':': 1 Frequência: 0.50%
Caractere 'j': 1 Frequência: 0.50%
Caractere 'a': 2 Frequência: 1.00%
Caractere 'p': 1 Frequência: 0.50%
Caractere 'n': 1 Frequência: 0.50%
Caractere ')': 2 Frequência: 1.00%
Caractere 'ま': 1 Frequência: 0.50%
Caractere 'た': 2 Frequência: 1.00%
Caractere 'は': 5 Frequência: 2.50%
Caractere '東': 2 Frequência: 1.00%
Caractere 'ア': 2 Frequência: 1.00%
Caractere 'ジ': 1 Frequência: 0.50%
Caractere '位': 1 Frequência: 0.50%
Caractere '置': 1 Frequência: 0.50%
Caractere 'す': 2 Frequência: 1.00%
Caractere 'る': 4 Frequência: 2.00%
Caractere '民': 1 Frequência: 0.50%
Caractere '主': 2 Frequência: 1.00%
Caractere '制': 1 Frequência: 0.50%
Caractere '家': 1 Frequência: 0.50%
Caractere '[': 9 Frequência: 4.50%
Caractere '1': 1 Frequência: 0.50%
Caractere ']': 9 Frequência: 4.50%
Caractere '。': 3 Frequência: 1.50%
Caractere '首': 1 Frequência: 0.50%
Caractere '都': 2 Frequência: 1.00%
Caractere '京': 1 Frequência: 0.50%
Caractere '注': 2 Frequência: 1.00%
Caractere '3': 4 Frequência: 2.00%
Caractere '2': 1 Frequência: 0.50%
Caractere '全': 1 Frequência: 0.50%
Caractere '長': 1 Frequência: 0.50%
Caractere '5': 2 Frequência: 1.00%
Caractere '0': 2 Frequência: 1.00%
Caractere 'キ': 1 Frequência: 0.50%
Caractere 'ロ': 1 Frequência: 0.50%
...
Continuando com a exibição dos caracteres mais comuns de um texto:
def letras_mais_comuns(texto, quantas_letras):
quantidade_de_letras = Counter(texto.lower())
quantidade_de_quebras = quantidade_de_letras['\n']
total = sum(quantidade_de_letras.values()) - quantidade_de_quebras
quantidade_de_letras = quantidade_de_letras.most_common(quantas_letras)
print('Total de caracteres no texto', total)
print("Número de quebra de linhas '%sn': "%(chr(92)), quantidade_de_quebras)
print("Quebra de linhas '%sn' foram omitidas no total de caracteres.\n"%(chr(92)))
for cada_letra, contagem in quantidade_de_letras:
presenca = contagem / total * 100
if cada_letra == '\n':
print(f"Caractere '%sn': {contagem} Frequência: {presenca:.2f}"%(chr(92)), end='')
print('%')
else:
print(f"Caractere '{cada_letra}': {contagem} Frequência: {presenca:.2f}%")
letras_mais_comuns(texto_1, 10)
Exibiu a proporção dos 10 mais comuns:
Total de caracteres no texto 200
Número de quebra de linhas '\n': 4
Quebra de linhas '\n' foram omitidas no total de caracteres.
Caractere 'に': 9 Frequência: 4.50%
Caractere '[': 9 Frequência: 4.50%
Caractere ']': 9 Frequência: 4.50%
Caractere '、': 8 Frequência: 4.00%
Caractere '島': 8 Frequência: 4.00%
Caractere ' ': 7 Frequência: 3.50%
Caractere 'は': 5 Frequência: 2.50%
Caractere '\n': 4 Frequência: 2.00%
Caractere 'ん': 4 Frequência: 2.00%
Caractere 'る': 4 Frequência: 2.00%