
# Exercice 1:
# 1)

def occurrence(l):
    d = {}
    for i in l:
        if i in d:
            d[i] += 1
        else:
            d[i] = 1
    return d

print(occurrence([1,3,2,1,4,1,2,1])) # affiche {1: 4, 3: 1, 2: 2, 4: 1}

# b) 

print(occurrence("tagada")) # affiche {'t': 1, 'a': 3, 'g': 1, 'd': 1}

# c)

f = open("ltdme80j-p.txt")
texte = f.read().split()
f.close()

def plus_frequent(d,k):
    m = None
    for i, j in d.items():
        if len(i) == k:
            if m == None:
                m = i
            elif d[m] < j:
                m = i
    return m

print(plus_frequent(occurrence(texte),5)) #  affiche était

# d)

def compare_tableaux(t,u):
    d1 = occurrence(t)
    d2 = occurrence(u)

    for k in d1.keys():
        if k not in d2:             # On vérifie si la clé appartient
            return False
        elif d1[k] != d2[k] :       # Si oui, si les nombres d'occurrences sont les mêmes
            return False
        else:                       # Si oui, on supprime la clé de d2
            del d2[k]

    return len(d2.keys()) == 0      # Si d1 et d2 avaient les mêmes clés, alors d2 devrait être vide

print(compare_tableaux([1,3,2,1,4,1,2,1],[1,3,2,1,4,1,2,5])) # False
print(compare_tableaux([1,3,2,1,4,1,2,1],[1,3,2,1,4,1,2,2])) # False
print(compare_tableaux([1,3,2,1,4,1,2,1],[1,3,2,1,4,1,2,1])) # True


