0% ont trouvé ce document utile (0 vote)
20 vues3 pages

1NSI - Listes 2

Le document présente des exercices sur les structures de données et le parcours de listes en Python, en utilisant des listes de notes, champions, tailles et revenus. Il propose des fonctions à écrire pour effectuer des opérations comme la somme, la moyenne, le comptage d'éléments, la recherche d'indices, l'inversion de listes et la création de listes uniques. Enfin, il inclut un exercice sur la création d'une interface graphique avec tkinter pour interagir avec des clics sur un canvas.

Transféré par

patrick6666771
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
20 vues3 pages

1NSI - Listes 2

Le document présente des exercices sur les structures de données et le parcours de listes en Python, en utilisant des listes de notes, champions, tailles et revenus. Il propose des fonctions à écrire pour effectuer des opérations comme la somme, la moyenne, le comptage d'éléments, la recherche d'indices, l'inversion de listes et la création de listes uniques. Enfin, il inclut un exercice sur la création d'une interface graphique avec tkinter pour interagir avec des clics sur un canvas.

Transféré par

patrick6666771
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Structures de données

Parcours de listes

Pour l’ensemble de cette activité, on utilisera les quatre listes suivantes :

notes=[14,13,17,14,11,18,12,13,8,17,14,14,15,11]
champions=["Uruguay","Italie","Italie","Uruguay","Allemagne","Brésil","Brésil",
"Angleterre","Brésil","Allemagne","Argentine","Italie","Argentine","Allemagne",
"Brésil","France","Brésil","Italie","Espagne","Allemagne","France","Argentine"]
tailles=[1.73,1.65,1.68,1.81,1.7,1.73,1.81,1.75,1.84,1.65,1.73]
revenus=[1300,1300,1400,1500,1500,1500,1600,1600,1800,2000]

De nombreux algorithmes nécessitent d’utiliser une boucle for pour parcourir une liste et examiner les
éléments un par un. L’indice de boucle (souvent appelé i) permet d’examiner l’élément d’indice i de
la liste. Par exemple :
1 n = len ( notes )
2 for i in range ( n ) :
3 print ( notes [ i ])

Beaucoup d’algorithmes sont applicables à des listes différentes. Par exemple, on peut vouloir calculer
la moyenne des notes ou celle des tailles. On peut aussi vouloir compter le nombre d’élèves ayant eu
13, ou le nombre de fois que l’Allemagne a gagné la coupe du monde, ou encore le nombre de personnes
mesurant 1m68.

On définit donc généralement des fonctions qui prennent en paramètre une liste et qu’on appelle ensuite
avec la liste qui nous intéresse.

Exercice 1

1) Complétez la fonction suivante qui prend en paramètre une liste et qui renvoie la somme de ses
éléments.
1 def somme ( liste ) :
2 n = len ( liste )
3 resultat = ...
4 for i in range (...) :
5 resultat = ...
6 return ...

2) Affichez la somme des revenus de la liste revenus.

3) Écrivez une fonction moyenne qui prend en paramètre une liste et qui renvoie la moyenne de ses
éléments. Pour cela, appelez la fonction somme et divisez le résultat par le nombre d’éléments.

4) Affichez la moyenne des notes et celle des tailles.

1
Exercice 2

1) Écrivez une fonction compte qui prend en paramètre une liste et une valeur, et qui renvoie le nombre
de fois que la valeur apparaît dans la liste. Pour cela, utilisez une variable en guise de compteur.
Parcourez la liste, et à chaque fois que vous rencontrez la valeur souhaitée, incrémentez le compteur.

2) Affichez le nombre de fois que la France a remporté la coupe du monde.

3) Affichez le nombre d’élèves ayant eu 14.

Exercice 3

1) Écrivez une fonction maximum qui prend en paramètre une liste et qui renvoie son plus grand élément.

2) Affichez la meilleure note et la plus grande taille.

3) Affichez le résultat de maximum(champions). Comment peut-on expliquer ce résultat ?

Exercice 4

1) Écrivez une fonction indice qui prend en paramètre une liste et une valeur, et qui renvoie l’indice
où apparaît (pour la première fois) la valeur recherchée. Par exemple, indice(note,17) doit renvoyer
2, et indice(champions,"Brésil") doit renvoyer 5.

2) Écrivez une fonction indices qui prend en paramètre une liste et une valeur, et qui renvoie la liste
de tous les indices où apparaît la valeur souhaitée. Par exemple, indices(note,17) doit renvoyer la
liste [2,9] et indices(champions,"Brésil") doit renvoyer [5,7,13,15].

Exercice 5

Écrivez une fonction inverse qui prend en paramètre une liste et qui renvoie une liste contenant
les mêmes éléments, mais dans l’ordre inverse. Par exemple, inverse(notes) doit renvoyer la liste
[11,15,14,14,17,8,13,12,18,11,14,17,13,14].

Exercice 6

1) Écrivez une fonction unique qui prend en paramètre une liste et qui renvoie une autre liste
contenant tous les éléments uniques de la première, autrement dit sans les doublons. Par exemple,
unique(champions) doit renvoyer
["Uruguay","Italie","Allemagne","Brésil","Angleterre","Argentine","France","Espagne"]
Indice : On peut tester si une valeur n appartient à une liste t avec la syntaxe if n in t:

2) Écrivez une fonction communs qui prend en paramètre deux listes et qui renvoie une liste contenant
toutes les valeurs communes aux deux listes (les valeurs qu’on trouve à la fois dans les deux).

2
Exercice 7

Écrivez un programme tkinter qui affiche un canvas et un bouton «OK». Quand l’utilisateur clique sur
un point du canvas, le programme affiche une petite croix à l’endroit où il a cliqué. Quand l’utilisateur
clique sur le bouton, s’il y a au moins 3 croix, le programme efface les croix et dessine à la place un
polygône passant par tous les points en les reliant par des segments (s’il y a moins de 3 croix, le clic
n’a pas d’effet). Les clics suivants affichent à nouveau des croix, jusqu’au prochain clic sur le bouton
qui dessine un deuxième polygône, etc.

Vous aimerez peut-être aussi