################ ## ## ## Exercice 4 ## ## ## ################ def moyenne(L) : n=len(L) assert(n>0) # Renvoie un erreur si L=[] s = 0 for i in range(n) : s = s+L[i] return s/n def moyenne(L) : assert(len(L) > 0) # Renvoie un erreur si L=[] return sum(L) / len(L) ################ ## ## ## Exercice 5 ## ## ## ################ t = ('pierre' , 'feuille' , 'ciseaux') def g(n) : return t[n] def f(s) : return t.index(s) ################ ## ## ## Exercice 6 ## ## ## ################ def est_triée(L) : for i in range(len(L)-1) : if L[i] > L[i+1] : return False return True ################ ## ## ## Exercice 7 ## ## ## ################ ## Question 7.1 def grouper(L) : if len(L) == 0 : return [] e = L[0] res = [e] for i in range(1,len(L)) : if L[i] != e : e = L[i] res.append(e) return res ## Question 7.2 def compacter(L) : if len(L)==0 : return [] # L contient au moins un élément e = L[0] c = 1 res = [] for i in range(1,len(L)) : if L[i] != e : res.append((c,e)) e = L[i] c = 1 else : c = c+1 res.append((c,e)) return res ################ ## ## ## Exercice 8 ## ## ## ################ ## Question 8.1 def index_insertion(L,n) : for i in range(len(L)): if L[i]>n : return i return len(L) ## Question 8.2 def insertion_triée(L) : res = [] for i in range(len(L)) : j = index_insertion(res,L[i]) res.insert(j , L[i]) return res