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}))