HUB

Algorithmes essentiels

Les listes

1. Maximum d'une liste :

Retourne l'élément le plus grand d’une liste. (Sans utiliser la fonction max ou des tris)

def e1(t): val = 0 c = t[0] for i in t: if c <= i: c = i val += 1 print(c) print(e1([5, 3, 12, -4, 6, 9]))

2. Minimum d'une liste :

Retourne lélément le plus petit dune liste. (Sans utiliser la fonction min ou des tris)

def e2(t): val = 0 c = t[0] for i in t: if c >= i: c = i val += 1 print(c) print(e2([5, 3, 12, -4, 6, 9]))

3. Indice du minimum d'une liste :

Retourne lindice du plus petit élément dune liste. (Sans utiliser la fonction min ou des tris)

def e3(t): val = 0 c = t[0] indice = 0 for i in range(len(t)): if c >= t[i]: c = t[i] indice = i val += 1 print(indice) print(e3([5, 3, 12, -4, 6, 9]))

4. Compteur d'éléments d'une liste :

Retourne le nombre déléments dune liste. (Sans utiliser la fonction len)

def e4(t): val = 0 for i in t: val += 1 print(val) print(e4([5, 3, 12, 6, 9]))

5. Augmente les valeurs d'une liste :

Retourne une liste avec toutes les valeurs de la liste donnée en paramètre augmentées d'un nombre x.

def e5(t, x): val = 0 t2 = [] for i in t: t2.append(i + x) val += 1 print(t2) print(e5([5, 3, 12, 6, 9], 10))

6. Somme des éléments d'une liste :

Retourne la somme de tous les éléments d'une liste. (Sans utiliser la fonction sum)

def e6(t): val = 0 somme = 0 for i in t: somme += i val += 1 print(somme) print(e6([5, 3, 12, -5, 6, 9]))

7. Moyenne des éléments d'une liste :

Retourne la moyenne de tous les éléments d'une liste. (Sans utiliser la fonction sum)

def e7(t): val = 0 somme = 0 for i in t: somme += i val += 1 moyenne = somme / val print(moyenne) print(e7([5, 3, 12, -5, 6, 9]))

8. Somme des éléments d'une liste plus grand que x :

Retourne la somme de tous les éléments d'une liste qui sont plus grand que le paramètre x. (Sans utiliser la fonction sum)

def e8(t, x): val = 0 somme = 0 for i in t: if i > x: somme += i val += 1 print(somme) print(e8([5, 3, 12, -4, 6, 9], 8))

9. Compteur de nombres pairs d'une liste :

Retourne le nombre de nombres pairs d'une liste.

def e9(t): val = 0 for i in t: if i % 2 == 0: val += 1 print(val) print(e9([5, 3, 12, 6, 9]))

10. Compteur de nombres négatifs d'une liste :

Retourne le nombre de nombres négatifs d'une liste.

def e10(t): val = 0 for i in t: if i < 0: val += 1 print(val) print(e10([5, 3, -12, 6, -9]))

11. Inverser tous les éléments d'une liste :

Retourne une liste dans l'ordre inverse de la liste donnée en paramètre. (Sans utiliser la fonction reverse)

def e11(t): val = 0 t2 = [] for i in range(len(t) - 1, -1, -1): t2.append(t[i]) val += 1 print(t2) print(e11([5, 3, 12, 6, 9]))

12. Cherche une valeur d'une liste :

Retourne lindice de la première valeur x donnée en paramètre de la liste. (-1 si x nest pas trouvé)

def e12(t, x): val = 0 indice = -1 for i in range(len(t)): if t[i] == x: indice = i break val += 1 print(indice) print(e12([5, 3, 12, 6, 9], 12))

13. Cherche une valeur multiple d'une liste :

Retourne une liste des indices de la valeur x donnée en paramètre de la liste. (Liste vide si x n'est pas trouvé)

def e13(t, x): val = 0 indices = [] for i in range(len(t)): if t[i] == x: indices.append(i) val += 1 print(indices) print(e13([5, 3, 12, 5, 6, 9], 5))

14. Insérer un élément d'une liste :

Insère un élément x à un indice i de la liste. (Sans utiliser la fonction insert)

Retourne la nouvelle liste.

def e14(t, x, i): val = 0 t2 = [] for j in range(len(t)): if j == i: t2.append(x) t2.append(t[j]) val += 1 print(t2) print(e14([5, 3, 12, 5, 6, 9], 99, 3))

15. Doublons d'une liste :

La fonction prend en paramètre une liste d'entiers compris entre 0 et 100.

Retourne True, si la liste contient des doublons, False sinon.

def e15(t): val = 0 doublons = False for i in range(len(t)): for j in range(i + 1, len(t)): if t[i] == t[j]: doublons = True break if doublons: break val += 1 print(doublons) print(e15([5, 3, 12, 55, 6, 9])) print(e15([5, 6, 12, 14, 6, 9]))

16. Doublons max d'une liste :

La fonction prend en paramètre une liste d'entiers compris entre 0 et 100.

Retourne le nombre qui apparaît le plus de fois dans la liste.

def e16(t): val = 0 max_count = 0 max_elem = t[0] for i in t: count = t.count(i) if count > max_count: max_count = count max_elem = i val += 1 print(max_elem) print(e16([5, 6, 12, 6, 9, 5, 6, 9, 5, 2, 6]))

Les chaînes

17. Nombre de caractères d'une chaîne :

Retourne le nombre de caractères d'une chaîne. (Sans utiliser la fonction len)

def e17(chaine): val = 0 for c in chaine: val += 1 print(val) print(e17("abcde"))

18. Remplace un caractère d'une chaîne :

Remplace toutes les occurrences d'un caractère par un autre caractère donné en paramètres.

Retourne la nouvelle chaîne. (Sans utiliser la fonction replace)

def e18(chaine, old_char, new_char): val = 0 nouvelle_chaine = "" for c in chaine: if c == old_char: nouvelle_chaine += new_char else: nouvelle_chaine += c val += 1 print(nouvelle_chaine) print(e18("abcde", "c", "Z"))

19. Compteur d'occurrences d'un caractère d'une chaîne :

Retourne le nombre doccurrences dun caractère dans une chaîne.

def e19(chaine, char): val = 0 for c in chaine: if c == char: val += 1 print(val) print(e19("abcdefgbhijbkl", "b"))

20. Indice d'un caractère d'une chaîne :

Retourne lindice de la première occurrence dun caractère dans une chaîne. (None si le caractère n'est pas trouvé)

def e20(chaine, char): val = 0 indice = None for i in range(len(chaine)): if chaine[i] == char: indice = i break val += 1 print(indice) print(e20("abcde", "d"))

21. Indices multiples d'un caractère d'une chaîne :

Retourne la liste des indices des occurrences dun caractère dans une chaîne. (Liste vide si le caractère nest pas trouvé)

def e21(chaine, char): val = 0 indices = [] for i in range(len(chaine)): if chaine[i] == char: indices.append(i) val += 1 print(indices) print(e21("abcdedturip", "d"))

22. Inverser tous les caractères d'une chaîne :

Retourne une chaîne inversée de la chaîne donnée.

def e22(chaine): val = 0 nouvelle_chaine = "" for i in range(len(chaine) - 1, -1, -1): nouvelle_chaine += chaine[i] val += 1 print(nouvelle_chaine) print(e22("abcde"))

23. Insérer un caractère dans une chaîne :

Retourne une chaîne avec un caractère donné en paramètre inséré à l'indice i. (Sans utiliser la fonction insert)

Si i est plus grand que la longueur de la chaîne, le caractère sera inséré à la fin de la chaîne.

def e23(chaine, char, i): val = 0 nouvelle_chaine = "" for j in range(len(chaine)): if j == i: nouvelle_chaine += char nouvelle_chaine += chaine[j] val += 1 if i >= len(chaine): nouvelle_chaine += char print(nouvelle_chaine) print(e23("abcde", "b", 4))

Les dictionnaires

1. Ajoute un élément dans un dictionnaire

Fonction prenant en paramètre un dictionnaire et un élément à ajouter

def D1(a, b, c): a[b] = c return a print(D1({"abel": 5, "babar": 7, "clement": 36}, "Titi", 50))

2. Cherche une valeur d'un dictionnaire :

Retourne True si la valeur donnée en paramètre est dans le dictionnaire, False sinon.

def D2(a, b): for i in a: if a[i] == b: return True return False print(D2({"abel": 5, "babar": 7, "clement": 36}, 7)) print(D2({"abel": 5, "babar": 7, "clement": 36}, 1334))

3. Cherche une clé d'un dictionnaire :

Retourne True si la clé donnée en paramètre est dans le dictionnaire, False sinon

def D3(a, b): for i in a: if i == b: return True return False print(D3({"abel": 5, "babar": 7, "clement": 36}, 1334)) print(D3({"abel": 5, "babar": 7, "clement": 36}, "abel"))

4. Longueur de chaînes :

Fonction prenant en paramètre une liste de chaîne de caractères.

Retourne un dictionnaire contenant chacune des chaînes en clé et la longueur de la chaîne correspondante en valeur.

def E4(a): t = {"abel": 5, "babar": 7, "clement": 36} r = {} for i in a: for y in t: if i == y: r[i] = t[y] return r print(E4(["abel", "babar", "clement"]))

5. Plus petite valeur :

Fonction prenant en paramètre un dictionnaire dont les valeurs sont des entiers.

Retourne la clé dont la valeur est la plus petite.

def D5(a): min_key = list(a)[0] for i in a: if a[i] < a[min_key]: min_key = i return min_key print(D5({"abel": 5, "babar": 7, "autre_test": 2, "clement": 36}))