Listes Lab - Découverte#
Exercice 1#
Écrivez un programme qui calcule et afficher la moyenne de 5 notes qui seront demandées à l'utilisateur.
# Écrivez le programme ici
Solution
1# Définition des variables
2somme_notes = 0
3
4# Demande des notes à l'utilisateur
5for _ in range(5):
6 somme_notes += float(await input_line("Note: "))
7
8# Calcule de la moyenne
9moyenne = somme_notes / 5
10
11# Affiche la moyenne
12print(moyenne)
Exercice 2#
Répondez aux questions suivantes 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.
notes = [6, 5, 4.5, 5, 3.5] print(notes) notes.append(5.5) print(notes) print(notes[2]) notes.remove(5) print(notes) del notes[3] print(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ùi
est un nombre entier?notes
est 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.
del
est 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 range
qui 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ùi
est 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.
# Écrivez le programme ici
Solution
1# Définition des variables
2notes = []
3
4# Demande des notes à l'utiliateur
5for _ in range(10):
6 notes.append(float(await input_line("Note: ")))
7
8# Afficher la liste de notes
9print(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.
notes = [6, 5, 4.5, 5, 3.5] for i in notes: print(i)
Répondez aux questions suivantes en testant dans le code ci-dessus, si nécessaire:
Que se passe-t-il si
i
est remplacé park
?Quel serait un meilleur choix de nom pour
i
dans 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
i
park
(lignes 2 et 3), cela ne change rien.i
repré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.
# Complétez et/ou modifiez le programme
notes = [6, 5, 4.5, 5, 3.5]
somme = 0
for note in notes:
print(note)
print(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
Entrer note: 4
Entrer note: 5
Entrer note: 5.5
Moyenne: 4.833333333333333
# Complétez et/ou modifiez le programme
notes = []
somme = 0
for note in notes:
print(note)
print("Moyenne: ", moyenne)
Solution
1# Définition des variables
2notes = []
3somme = 0
4nb_notes = int(await input_line("Nombre de notes: "))
5
6# Demande les notes à l'utilisateur
7for _ in range(nb_notes):
8 notes.append(float(await input_line("Entrer 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,
calcule la moyenne et la renvoie.
Astuce
La fonction len(liste)
retourne le nombre d'éléments de la liste.
notes = [3, 4.5, 5.5]
nombre_notes = len(notes)
print(nombre_notes)
# Complétez et/ou modifiez le programme
# Définition de la fonction calcule_moyenne(notes)
# Définition des variables
notes = []
# Demande les notes à l'utilisateur
nb_notes = int(await input_line("Nombre de notes: "))
for _ in range(nb_notes):
notes.append(float(await input_line("Entrer note:")))
# Calcule et affiche la moyenne
moyenne =
print("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(await input_line("Nombre de notes: "))
15for _ in range(nb_notes):
16 notes.append(float(await input_line("Entrer note:")))
17
18# Calcule et affiche la moyenne
19moyenne = calcule_moyenne(notes)
20print("Moyenne: ", moyenne)