Vous êtes sur la page 1sur 4

TP 3 Les listes en Python NSI 2022-2023

1. Les listes
Une liste en Python est un objet délimité par deux crochets et qui renferme un nombre fini d'éléments
de n'importe quel type, ces éléments étant séparés par des virgules.

Quelques caractéristiques sur les listes :

• Les éléments d'une liste sont ordonnés et numérotés depuis 0.


• Une liste peut contenir des éléments de type différents (nombres, chaines...)

Exemple : s=[‘lundi’ , ‘mardi’ , 230 , ‘dimanche’]

a. Manipulations sur les listes:


Entraînem ent: Sous Edupython, utilisez les commandes suivantes sur la liste s de l’exemple précédent
et notez l’affichage ainsi obtenu, certaines instructions modifient la liste s, pensez à la remettre dans son
état initial pour les tester une à une.

Commande Affichage/Action
s[0]
s[1 :]
s[ :2]
Liste=[1]*10
len(s)
del(s[2])
s.append(‘samedi’)
s+[‘jeudi’,’vendredi’]
s.insert(3,29)
s.remove(‘lundi’)
s.pop(3)
s.pop()
s.index(‘mardi’)
s.reverse()
s.sort()

b. Afficher tous les éléments d’une liste : d. Un tableau constitué de 0 de 800


colonnes par 600 lignes:

c. Parcourir tous les éléments d’une liste : e. Une liste constituée des
nombres entiers de 1 à 49:
Liste en compréhension :

Peu de langages de programmation l’ont adoptée : la possibilité de créer des listes de manière à la fois
concise et élégante. C’est très proche de la syntaxe utilisée en mathématiques.
1multiples = [n*5 for n in range(1,15)]
2
3multiples
4# [5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70]
On peut également rajouter une condition :
evens = [n for n in range(1,21) if n%2 == 0]

evens
# [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

Le site https://fr.wikibooks.org/wiki/Programmation_Python/Listes décrit les fonctions disponibles


pour manipuler les listes.

Un autre site pour aller plus loin avec des exemples :


https://nbviewer.jupyter.org/urls/leducdenormandie.itslearning.com/ePortfolio/View/ViewItemFile.
aspx/%3FPortfolioID%3D6406%26PortfolioItemID%3D453%26PortfolioItemFileId%3D31174%26Custom
er%3Dleducdenormandie

Un autre site pour s’entraîner à la manipulation élémentaire des listes avec des solutions proposées :
http://mathartung.xyz/isn/initiation-python/les-tableaux/29.html

Exercice 1 :

Ecrire un programme sous Python permettant d'effectuer les manipulations suivantes sur une liste
de 10 valeurs entières (qui représentent des notes) :

1. Création de la liste.
2. Initialisation de la liste par saisie des 10 valeurs au clavier de l'utilisateur.
3. Affichage à l'écran de l'utilisateur, des 10 valeurs contenues dans cette liste
4. Calcul de la moyenne des éléments de la liste.
5. Affichage du nombre d'élèves ayant obtenus une note supérieure à 10
6. Affiche le plus grand élément de la liste

Exercice 2 : « Simulation de lancer de dé »

Fabriquer une liste de 100 nombres aléatoires de 0 à 6 puis donner la fréquence d'apparition du nombre
6. Indication : On pourra utiliser les commandes suivantes pour tirer un nombre aléatoire entre 0 et 6 :
Exercice 3 : les chaînes de caractères : le palindrome

Réaliser un programme qui effectue les manipulations suivantes :

• Saisir au clavier une chaine de caractères (on se content d’un mot ici).
• Créer la liste des codes ASCII de chaque caractère du mot.(rappel : ord(‘a’) renvoie 97 qui est le code
asccii de la lettre ‘a’ et réciproquement chr(97 ) renvoie ‘a’, lien vers le code ascii)
• Dire si le mot proposé est un palindrome

Un palindrome est une chaîne de caractères qui se lit de manière identique de gauche vers la droite comme de
droite vers la gauche.

Pour aller plus loin : Faire la même chose avec une phrase.

Exemple :UN ROC CORNU

Exercice 4 :

Ecrire un programme qui à partir d’une liste de 5 éléments affichera une liste dont l’ordre des éléments
est renversé par rapport à la liste initiale. (Vous n’avez évidemment pas le droit d’utiliser la fonction
reverse() ni reversed qui réalisent cela directement !)
Exemple : liste1=[1,2,3,4,5] → liste2=[5,4,3,2,1]

Exercice 5 : « échanger »

Ecrire l’algorithme permettant dans une liste de 10 éléments d’échanger le premier élément et l’élément
d’indice i où i est saisi par l’utilisateur. Pour les plus rapides, faire la même chose avec une fonction
qui prend en argument une liste et le rang à échanger avec le premier et retourne la nouvelle liste.

Exercice 6 :

Réaliser un programme qui permet à un utilisateur d'entrer une série de nombres entiers (pour indiquer
la fin de la saisie l'utilisateur entre le nombre 0), qui affiche le tableau des nombres pairs et le tableau
des nombres impairs saisis.

Exercice 7 :

Ecrire la fonction decale(liste) qui prend en argument une liste et met en tête de liste le dernier élément
de la liste et décale tous les autres d’un rang vers la droite.

Exemple : decale([1,2,3,4,5]) renverra [5,1,2,3,4]

Pour les plus rapides : le faire dans la liste d’origine sans en créer une autre

Exercice 8 : « Défi Turing 90 (difficulté élevée) »

276 lampes sont numérotées de 1 à 276. Pour passer le temps, 25 enfants appuient sur les interrupteurs
à tour de rôle. Le premier enfant presse chaque interrupteur. Le second presse les boutons 2, 4, 6 , etc.
(tous les boutons ayant un numéro multiple de 2), le troisième appuie sur les boutons 3, 6, 9, etc. Le
quatrième presse tous les boutons ayant un numéro multiple de 4, et ainsi de suite jusqu'au 25ème enfant.
Avant le passage du premier enfant, toutes les ampoules sont éteintes.

Combien d'ampoules seront allumées après le passage des 25 enfants ?

Aide pour constituer une liste de 49 éléments (de 1 à 49) :

ou

Exercice facultatif :
Programmer le jeu du pendu. On utilisera une liste et on a droit au maximum à 10 essais.

Vous aimerez peut-être aussi