Listes - Boucles for
#
La boucle for
permet d'accéder à tous les éléments d'une liste l'un après
l'autre.
Par position#
Dans ce cas, les éléments sont parcourus au moyen de leur index. Pour déterminer
l'index du dernier élément et éviter une erreur lors de l'exécution, nous
utilisons la fonction len(liste)
qui retourne le nombre d'élément dans une
liste.
Exemple 12#
notes = [5, 5.5, 4, 5.5, 6]
# Cette boucle parcourt tous les index de la liste de 0 à la longueur de la liste - 1
for i in range(len(notes)):
print(notes[i])
Par élément#
En Python, il est possible de parcourir directement les éléments d'une liste.
Exemple 13#
notes = [5, 5.5, 4, 5.5, 6]
# Cette boucle parcourt les éléments les uns après les autres
for note in notes: # La variable note change de valeur à chaque itération
print(note)
Exercice 29#
Avant de les exécuter, déterminez ce que font les programmes suivants.
questions = ["Quelle est ta couleur préférée?", "Quel est ton animal préféré?", "Où étudies-tu?"] reponses = [] for question in questions: print(question) reponse = await input_line("Réponse: ") reponses.append(reponse) print("Tes réponses: ", reponses) if reponses[2] == "STX": print("Tu es dans la meilleure école ;-)")
notes = [5.5, 3.8, 6, 6, 3.5, 4,5] nb_notes_insuf = 0 for note in notes: if note < 4: nb_notes_insuf += 1 print("Tu as fait", nb_notes_insuf, "notes insuffisantes.")
Exercice 30#
Écrivez une programme qui génère une liste de 50 nombres entiers tirés au hasard entre 1 et 1000.
Déterminez le maximum de la liste en définissant une fonction
maximum(liste)
.Déterminez le minimum de la liste en définissant une fonction
minimum(liste)
.
# Écrivez le programme ici
Solution
1from random import randint
2
3def maximum(listes_nombres):
4 max = listes_nombres[0]
5 for nombre in listes_nombres:
6 if nombre > max:
7 max = nombre
8 return max
9
10def minimum(listes_nombres):
11 min = listes_nombres[0]
12 for nombre in listes_nombres:
13 if nombre < min:
14 min = nombre
15 return min
16
17
18nombres = []
19
20# Genère la liste de 50 nombres entiers
21for _ in range(50):
22 nombres.append(randint(1, 1000))
23
24print("Le maximum est", maximum(nombres))
25print("Le minimum est", minimum(nombres))
26print(nombres)
Exercice 31#
Complétez le programme ci-dessous afin qu'il affiche correctement l'itinéraire de la manière suivante:
Début de l'itinéraire
Vas à Bulle
Vas à Riaz
Vas à Marsens
Vas à Echarlens
Vas à Charmey
Tu es arrivé!
itineraire = ["Bulle", "Riaz", "Marsens", "Echarlens", "Charmey"]
# Complétez le programme à partir de là
Solution
1itineraire = ["Bulle", "Riaz", "Marsens", "Echarlens", "Charmey"]
2print("Début de l'itinéraire")
3for ville in itineraire:
4 print("Vas à", ville)
5print("Tu es arrivé!")
Exercice 32#
Une liste de notes a été donnée par un autre utilisateur et sauvegardée dans la
variable notes
.
Calculez le nombre de notes insuffisantes.
Calculez la moyenne.
Déterminez la meilleure note obtenue.
Ne vous préoccupez pas de la première ligne, celle-ci permet juste de demander
une liste à l'utilisateur et d'enregistrer le résultat dans la variable notes
.
from random import uniform, randint
def genere_liste_notes(nb_notes):
notes = []
for _ in range(nb_notes):
notes.append(round(uniform(2, 6), 1))
return notes
notes = genere_liste_notes(randint(7, 15))
print(notes)
# Complétez le progamme à partir de là
nb_notes_insuffisantes =
moyenne =
meilleure_note =
print("Il y a ", nb_notes_insuffisantes, "notes insuffisantes.")
print("La moyenne est de", moyenne)
print("La meilleure note obtenue est", meilleure_note)
Solution
1print(notes)
2nb_notes_insuffisantes = 0
3for note in notes:
4 if note < 4:
5 nb_notes_insuffisantes += 1
6moyenne = sum(notes) / len(notes)
7
8meilleure_note = 0
9for note in notes:
10 if note > meilleure_note:
11 meilleure_note = note
12
13print("Il y a", nb_notes_insuffisantes, "notes insuffisantes.")
14print("La moyenne est de", moyenne)
15print("La meilleure note obtenue est", meilleure_note)