#Exercice: #1- Ecrire une function rempli_list qui retourn une lise de taille n>=4 (n est un param ) # avec le mots doivent commencer par une lettre def rempli_list(n=4): list_mot=[] for i in range(n): print('-------',len(list_mot)+1,'-------') while True: mot=input('donner un mot commencant par une lettre') if mot[0].isalpha():break list_mot.append(mot) return list_mot #2- Ecrire une function dict_first qui accepte liste de mots et retourne un dictionnaire # dont: # d={:list_mots_commencant_par_cette_lettre} # Exemple: # L=['ali','sana','mohammed','safa','mourad','samira'] # dict_first(L) retourne {'a':['ali'],'m':['mohammed','mourad'],'s':['sana','safa','samira']} def dict_first(L): cles={e[0] for e in L} d={} for c in cles: d[c]=[] for ele in L: if c==ele[0]:d[c].append(ele) return d #3- Ecrire une function dict_first qui accepte liste de mots et retourne un dictionnaire # dont: # d={:list_mots_de_longueur_n} # Exemple: # Pour la meme L, # dict_sec(L) retourne {3:['ali'],4:['sana','safa'],6:['mourad','samira'],8['mohammed']} def dict_sec(L): cles={len(e) for e in L} d={} for c in cles: d[c]=[] for ele in L: if c==len(ele):d[c].append(ele) return d #4- Ecrire une function d3 qui accepte liste de mots et retourne un dictionnaire # dont: # d={:frequence_de_ce_caractere_dans_la_liste } # Exemple: # Pour la meme L, # d3(L) retourne {'r': 2, 'h': 1, 'l': 1, 'i': 2, 'e': 1, 'n': 1, 'm': 5, 'd': 2, 'f': 1, 'u': 1, 'o': 2, 'a': 9, 's': 3} def d3(l): ch=''.join(l) set_cle=set(ch) return {c:ch.count(c) for c in set_cle}