### ### info224, exemples du premier cours ### def somme_5k3(T): """calcule la somme des cases d'indice de la forme 5k+3 dans le tableau T""" r = 0 for i in range(0, len(T)): if i % 5 == 3: # i est de la forme 5k+3 exactement lorsque i mod 5 vaut 3 r = r+T[i] return r # Cette version n'est pas très bonne car elle parcourt toutes les cases du # tableau pour n'en additionner qu'une seule sur 5. def somme_5k3(T): """calcule la somme des cases d'indice de la forme 5k+3 dans le tableau T""" r = 0 for k in range(0, (len(T)-3)//5): r = r + T[5*k+3] return r # exercice à la maison : pourquoi doit on s'arrêter à (len(T)-3)//5 def somme_5k3(T): """calcule la somme des cases d'indice de la forme 5k+3 dans le tableau T""" r = 0 for i in range(3, len(T), 5): r = r + T[i] return r # méthode la plus simple, on utilise le troisième argument de la fonction "range" # Attention : vous devez être capable d'écrire la version précédente également def indice(T, v): """calcule l'indice de la premiere occurrence de v dans le tableau T""" r = -1 for i in range(0, len(T)): if T[i] == v: r = i return r # exercice à la maison : corriger le bug sans changer la boucle (la fonction # renvoie en fait l'indice de la dernière occurence de v def indice(T, v): """calcule l'indice de la premiere occurrence de v dans le tableau T""" r = -1 i = 0 while r == -1 and i < len(T): if T[i] == v: r = i i = i+1 return r ### Attention : ne pas oublier les initialisation et les 2 conditions du while