# -*- coding: utf-8 -*-
#-----------------------------------------------------------------------------
#-------------------Saisie du texte par l'utilisateur-------------------------
#le texte peut être copier coller. Il ne doit pas contenir de saut de ligne
#L'utilisation d'Edupython n'est pas envisageable dans ce contexte (fenêtre de saisie limitée à 256 caractères)
#-----------------------------------------------------------------------------  

mon_texte =input("saisir un texte : ")

#-------------------Décompte des lettres dans le texte------------------------  

#Initialisation des lettres à chercher dans le texte
alphabet_complet="aàâbcçdeéèêfghiïîjklmnoôpqrstuùvwxyz"   
#Création d'une liste pour les effectifs des différentes lettres
liste_effectif_lettre=[0 for i in range(36)]
#Recherche d'une lettre
for lettre in range(0,36):
    #Initialisation du compteur de chaque lettre
    nombre_lettre=0
    #Parcours du texte à la recherche d'une lettre
    for i in range(0,len(mon_texte)):
       #Incrémentation du compteur de chaque lettre        
       if (mon_texte[i]==alphabet_complet[lettre]or mon_texte[i]==alphabet_complet[lettre].upper()):
           nombre_lettre=nombre_lettre+1
    #Affectation du décompte dans la liste des lettres        
    liste_effectif_lettre[lettre]= nombre_lettre    
#Affichage du total des lettres
print("le texte contient",sum(liste_effectif_lettre),"lettres",end='\n')

#-----------------Affichage du décompte de chaque lettre----------------------

for i in range(36):
    print("le nombre de",alphabet_complet[i]," est ",liste_effectif_lettre[i],end='\n')

#-----------------Attribution des différentes lettres aux différents jetons----

#Initialisation des lettres représentées sur les jetons
alphabet="abcdefghijklmnopqrstuvwxyz"
#Création d'une liste des indices des lettres accentuées dans la liste des jetons
liste_indice_lettre=[0,0,0,1,2,2,3,4,4,4,4,5,6,7,8,8,8,9,10,11,12,13,14,14,15,16,17,18,19,20,20,21,22,23,24,25]
#Création d'une liste pour les effectifs des différentes jetons
liste_effectif_jeton=[0 for i in range(26)]
#Affectation des sommes de lettres décomptées dans la liste des effectifs des jetons
for i in range(36):
    liste_effectif_jeton[liste_indice_lettre[i]]=liste_effectif_jeton[liste_indice_lettre[i]]+liste_effectif_lettre[i]

#-----------------Affichage du décompte et de la fréquence de chaque jeton----------------------

for i in range(26):
    print("le texte contient",liste_effectif_jeton[i],"lettres correspondant au jeton",alphabet[i],"soit une fréquence en % de",round(100*liste_effectif_jeton[i]/sum(liste_effectif_lettre),2),end='\n')

