Listes - Introduction#
Exercice 1#
Écrivez un programme qui calcule et affiche la moyenne de 5 notes qui seront demandées à l'utilisateur.
1# Écrivez le programme ici
Solution
1# Définition des variables
2somme_notes = 0
3nb_notes = 5
4
5# Demande des notes à l'utilisateur
6for _ in range(nb_notes):
7 somme_notes += float(input("Note: "))
8
9# Calcule de la moyenne
10moyenne = somme_notes / nb_notes
11
12# Affiche la moyenne
13print(moyenne)
Exercice 2#
Répondez aux questions en lien avec le programme suivant:
Que fait
append(5.5)?Qu'affiche
print(notes[2])?Quelle différence y a-t-il entre
remove()etdel?
1notes = [6, 5, 4.5, 5, 3.5]
2print(notes)
3notes.append(5.5)
4print(notes)
5print(notes[2])
6notes.remove(5)
7print(notes)
8del notes[3]
9print(notes)
Exercice 3#
Exécutez le code et vérifier les réponses de l'exercice 2.
1notes = [6, 5, 4.5, 5, 3.5] 2print(notes) 3notes.append(5.5) 4print(notes) 5print(notes[2]) 6notes.remove(5) 7print(notes) 8del notes[3] 9print(notes)
Répondez aux questions suivantes en testant dans le code ci-dessus, si nécessaire:
À quel endroit de la variable notes la fonction
append()ajoute-t-elle une valeur?Qu'est-ce qui s'affiche en remplaçant
print(notes[2])parprint(notes[0])?Qu'est-ce qui s'affiche en remplaçant
print(notes[2])parprint(notes[5])?Qu'est-ce qui s'affiche en remplaçant
print(notes[2])parprint(notes[6])?Quelle hypothèse peut être faite sur l'utilisation de la notation
notes[i]oùiest un nombre entier?notesest une variable de type "list" (une liste). Comment créer une liste vide?
Solution
apprend(5.5)ajoute la note 5.5 à la fin de la liste des notes.print(notes[2])affiche le 3e élément de la liste.remove()est une fonction qui efface la première occurence de l'élément spécifié entre parenthèse.
delest un mot clé qui supprime l'élément à l'emplacement spécifié.
La fonction
append()ajoute l'élément à la fin de la liste.print(notes[0])affiche le premier élément de la liste, c'est-à-dire 6.print(notes[5])affiche le 6e élément, c'est-à-dire 5.5.print(notes[6])produit une erreurIndexError: list index out of rangequi est une erreur lors de l'exécution, carnotes[6]appelle le 7e élément de la liste, mais il n'y a que 6 éléments dans celle-ci.notes[i]oùiest un nombre entier retourne l'élément en positioni+1.Pour créer une liste vide:
notes = []
Exercice 4#
Écrivez un programme qui demande à l'utilisateur d'entrer 10 notes qui seront stockées dans une liste.
Le programme doit être facilement modifiable pour changer le nombre de notes à saisir.
1# Écrivez le programme ici
Solution
1# Définition des variables
2notes = []
3nb_notes = 10
4
5# Demande des notes à l'utiliateur
6for _ in range(nb_notes):
7 notes.append(float(input("Note: ")))
8
9# Afficher la liste de notes
10print(notes)
Exercice 5#
Que va afficher ce programme?
1notes = [6, 5, 4.5, 5, 3.5]
2for i in notes:
3 print(i)
Exercice 6#
Exécutez le code et vérifier les réponses de l'exercice 5.
1notes = [6, 5, 4.5, 5, 3.5] 2for i in notes: 3 print(i)
Répondez aux questions suivantes en testant dans le code ci-dessus, si nécessaire:
Que se passe-t-il si
iest remplacé park?Quel serait un meilleur choix de nom pour
idans le contexte de ce programme?
Solution
Le programme va afficher les éléments de la liste (les notes) les unes après les autres. Une note par ligne.
En remplaçant partout le
ipark(lignes 2 et 3), cela ne change rien.ireprésente les éléments de la liste. Comme la liste contient des notes, un meilleur choix serait:
1notes = [6, 5, 4.5, 5, 3.5] 2for note in notes: 3 print(note)
Exercice 7#
Modifiez le programme suivant pour qu'il calcule et affiche la somme des notes quel que soit le nombre de notes ajoutées.
Testez le code en ajoutant 2 notes avant de calculer la somme.
Testez le code en supprimant une note avant de calculer la somme.
1# Complétez et/ou modifiez le programme
2notes = [6, 5, 4.5, 5, 3.5]
3somme = 0
4for note in notes:
5 print(note)
6print(somme)
Solution
1notes = [6, 5, 4.5, 5, 3.5]
2somme = 0
3# notes.append(4)
4# notes.append(5.5)
5# notes.remove(notes[2])
6for note in notes:
7 somme += note
8print(somme)
Exercice 8#
Complétez le programme précédent pour qu'il:
demande à l'utilisateur le nombre de notes qu'il veut entrer,
lui demande d'entrer les notes,
calcule et affiche la moyenne des notes.
Voici un exemple d'exécution du programme:
Nombre de notes: 3
Entrez une note: 4
Entrez une note: 5
Entrez une note: 5.5
Moyenne: 4.833333333333333
1# Complétez et/ou modifiez le programme
2notes = []
3somme = 0
4for note in notes:
5 print(note)
6print("Moyenne: ", moyenne)
Solution
1# Définition des variables
2notes = []
3somme = 0
4nb_notes = int(input("Nombre de notes: "))
5
6# Demande les notes à l'utilisateur
7for _ in range(nb_notes):
8 notes.append(float(input("Entrez une note:")))
9
10# Calcule la somme des notes
11for note in notes:
12 somme += note
13
14# Calcule la moyenne des notes
15moyenne = somme / nb_notes
16print("Moyenne: ", moyenne)
Exercice 9#
Pour améliorer le programme, créez une fonction calcule_moyenne(notes) qui:
prend en paramètre la liste des notes,
parcours toute la liste des notes afin d'en faire la somme, puis calcule la moyenne
renvoie la moyenne.
Astuce
La fonction len(liste) retourne le nombre d'éléments de la liste.
1notes = [3, 4.5, 5.5]
2nombre_notes = len(notes)
3print(nombre_notes)
1# Complétez et/ou modifiez le programme
2
3# Définition de la fonction calcule_moyenne(notes)
4
5# Définition des variables
6notes = []
7
8# Demande les notes à l'utilisateur
9nb_notes = int(input("Nombre de notes: "))
10for _ in range(nb_notes):
11 notes.append(float(input("Entrer note:")))
12
13# Calcule et affiche la moyenne
14moyenne =
15print("Moyenne: ", moyenne)
Solution
1# Définition de la fonction calcule_moyenne(notes)
2def calcule_moyenne(notes):
3 somme = 0
4 for note in notes:
5 somme += note
6 moyenne = somme / len(notes)
7 return moyenne
8
9
10# Définition des variables
11notes = []
12
13# Demande les notes à l'utilisateur
14nb_notes = int(input("Nombre de notes: "))
15for _ in range(nb_notes):
16 notes.append(float(input("Entrer note:")))
17
18# Calcule et affiche la moyenne
19moyenne = calcule_moyenne(notes)
20print("Moyenne: ", moyenne)