# Exercice 1 def compter(symbole, texte): ... for s in texte: if ...: ... return ... # Exercice 2 def position(val, liste): for i in ...: if ...: return ... return ... # Exercice 3 def derniere_position(val, liste): ... for i in ...: if ...: ... return ... # Exercice 4 def indice_egal_valeur(liste): for i in ...: if ...: return ... return ... # Exercice 5 def moyenne(liste): somme = ... nb_notes = ... for note in liste: somme = ... nb_notes = ... return ... # Exercice 6 def moyenne_ponderee(liste): somme_notes = ... somme_coeffs = ... for (note, coeff) in liste: ... ... return ... # Exercice 7 def effectifs(liste): dico_effect = dict() for v in liste: if v in dico_effect: dico_effect[v] = ... else: dico_effect[v] = ... return dico_effect # Exercice 8 def maximum(liste): if ...: return None else: ... for v in liste: if ...: ... return ... # Exercice 9 def ecart_max_min(liste): mini = liste[0] maxi = ... for v in liste: if ...: maxi = ... if ...: ... return maxi - mini # Exercice 10 def max_avant_min(liste): pos_max = 0 maxi = liste[0] pos_min = ... mini = ... for i in range(len(liste)): if ...: maxi = ... pos_max = ... if ...: ... ... return ... < ... # Exercice 11 def compter_maximum(liste): maxi = ... n = ... for v in liste: if ...: maxi = ... n = ... elif v == maxi: n = ... return n # Exercice 12 def liste_positions_maximum(liste): maxi = liste[0] positions = [0] for i in range(len(liste)): if ...: ... ... elif ...: ... return ... def affine1(liste): nouvelle_liste = [] for v in liste: nouvelle_liste.append(3*v - 5) return nouvelle_liste def affine2(liste): return [3*v - 5 for v in liste] def fonction1(liste): nouvelle_liste = [] for v in liste: nouvelle_liste.append(v*v + 2*v) return nouvelle_liste # Exercice 13 def fonction2(liste): return [... for v in liste] def filtrer1(a, liste): nouvelle_liste = [] for v in liste: if v > a: nouvelle_liste.append(v) return nouvelle_liste def filtrer2(a, liste): return [v for v in liste if v > a] def triple_dans_intervalle2(a, b, liste): return [3*v for v in liste if a <= v <= b] # Exercice 14 def triple_dans_intervalle1(a, b, liste): nouvelle_liste = [] for v in liste: if ...: nouvelle_liste.append(...) return nouvelle_liste # Exercice 15 def que_les_negatifs(liste): ... for v in liste: if ...: ... return ... # Exercice 16 def que_croissant(liste): nouvelle_liste = liste[...] precedent = nouvelle_liste[0] for v in liste: if ...: nouvelle_liste.append(...) precedent = ... return nouvelle_liste # Exercice 17 def validees(commandes, limite): total = 0 commandes_passees = [] while ...: ... ... return commandes_passees # Exercice 18 def valeurs_consecutives_egales(liste): for i in range(...): if ...: ... ... # Exercice 19 def deux_entiers_successifs(liste): reponse = [] for i in range(...): if ...: ... return reponse # Exercice 20 def palindrome(texte): for i in range(...): if texte[i] != texte[...]: return ... return ... # Exercice 21 def bin_vers_entier(nb_bin): nb = 0 for b in nb_bin: nb = ... return nb # Exercice 22 def entier_vers_bin(nb_entier): nb_bin = [] while ...: nb_bin = [...] + nb_bin # pour rajouter à gauche nb_entier = ... nb_bin = [...] + nb_bin # on met le dernier chiffre à gauche return nb_bin # Exercice 23 def terme(n): u = ... for i in range(...): u = ... return u # Exercice 24 def seuil(limite): u = ... n = ... while ...: ... ... return ... # Exercice 25 def seuil2(marge): u = ... n = ... while ...: ... ... return ... # Exercice 26 def fibo(n): u = 1 v = 1 if ...: return u for i in range(...): ... ... ... return v # Exercice 27 def prochain_syracuse(u): if ...: return u // 2 # division entière else: return ... # Exercice 28 def suite_syracuse(u): suite = [...] # on commence avec u while ...: u = ... suite.append(...) return ... # Exercice 29 def altitude_max(u): alt_max = ... while ...: ... if ...: ... return ... # Exercice 30 def duree_vol(u): n = ... while ...: ... ... return ... # Exercice 31 def record_altitude(u_limite): a_record = ... # la plus haute altitude qu'on a vu u_record = ... # le point de départ pour cette altitude for u in range(..., ...): # pour aller de 1 à u_limite inclus a = ... # on calcule l'alt max en partant de u if ...: # on regarde si on a un nouvau record a_record = ... u_record = ... return u_record, a_record # Exercice 32 def normaliser(tab, a, b): for i in range(...): if ...: tab[i] = ... elif ...: tab[i] = ... # Exercice 33 def remplacer(val1, val2, tableau): ... # à compléter vous même # Exercice 34 def echanger(tab, i, j): ... # peut-être plusieurs lignes # Exercice 35 def miroir(tab): for i in range(...): echange(tab, i, ...) # Exercice 36 def ecarts(tab): ... # à compléter vous même # Exercice 37 def ranger(tab): ... # à compléter vous même # Exercice 38 def recherche_dichotomique(val, tab): g = ... d = ... etapes = ... while ...: etapes = ... m = ... if tab[m] > val: ... elif tab[m] < val: ... else: return ... return ... # Exercice 39 def tri_bulles(tab): n = len(tab) # pour simplifier la suite for i in range(...): for j in range(..., ..., -1): if ...: echanger(tab, ..., ...) # Exercice 40 def tri_selection(tab): n = len(tab) for i in range(...): k = ... for j in range(..., ...): if ...: k = ... echanger(tab, ..., ...) # Exercice 41 def tri_insertion(tab): for i in range(..., ...): j = ... while ... and ...: echanger(tab, ..., ...) j = ...