Aller au contenu principal

TP1 - Listes

Objectifs
  1. Manipuler des listes et ses éléments ;
  2. Faire des conditions et boucles.
Au préalable
  1. Se créer un dossier Première NSI sur votre ordinateur ou clé USB
  2. Dans ce dossier, créer un dossier Représentation des données

Sur EduPython ou autre instance python, faire :

  1. Créer un nouveau fichier en cliquant sur l'icône 📄, ou en appuyant sur CTRL+N
  2. Enregistrer le fichier sous le nom TP1_Listes en cliquant sur l'icône 💾, ou en appuyant sur CTRL+S
TP

L'ensemble des exercices se fait sur python.

Exercice 1 - Fruits

Thierry, comme toute personne normale, souhaite utiliser python pour représenter l'ensemble des fruits qu'il aime manger.

  1. Créer une liste fruits contenant les éléments suivants : 'pomme', 'banane', 'orange', 'kiwi'.
  2. Afficher le deuxième élément de la liste.
  3. Finalement, Thierry souhaite changer l'orange en mangue. Modifier le troisième élément pour qu'il soit 'mangue' et afficher la liste modifiée.
  4. Ajouter 'fraise' à la fin de la liste et afficher la liste.
  5. Après avoir mangé une banane, Thierry s'est mis à gonfler du visage (mince, il est allergique !). Supprimer l'élément 'banane' de la liste des fruits.

Exercice 2: Des nombres

Michel voudrait, à partir d'une liste de nombres, posséder une nouvelle liste contenant ces mêmes nombres, à la puissance 3.

  1. Créer une liste nombres contenant les nombres de 1 à 10.
  2. Créer une liste cubes qui est vide.
  3. Utiliser une boucle for pour afficher chaque nombre à la puissance 3.
  4. Rajouter dans la boucle une instruction permettant d'ajouter chaque nombre à la puissance 3 dans la liste cubes.
  5. Supprimer le nombre 5 de la liste nombres ainsi que la liste cubes, et afficher les listes mises à jour.

Exercice 3 : Pairs et impairs

Un prof de NSI veut vous faire réfléchir un peu en vous proposant un exercice où il souhaiterait que vous mettiez en place un programme permettant, à partir d'une liste de nombres, séparer ces nombres en 2 listes pairs et impairs, suivant si les nombres de la liste sont pairs ou impairs.

Créer des listes de nombres aléatoires

En important la bibliothèque random (import random), on peut utiliser la fonction random.sample(sequence, k) permettant de générer aléatoirement une liste de k entiers parmi l'ensemble de nombres proposés dans la sequence :

import random
liste = random.sample(range(0,100),20)

Me génère une liste de 20 entiers allant de 0 à 100.

  1. Créer une liste de 100 entiers allant de 0 à 500.
  2. Créer les listes pairs et impairs, vides.
  3. Un entier est pair si le reste de sa division euclidienne est égal à 0. Le reste d'une division euclidienne est représenté par le symbole % (4%2 donne 0 car 4 = 2 * 2 + 0). En utilisant une boucle, parcourir les éléments de la liste, puis ajouter dans pairs ou impairs les entiers dont le reste vaut 0, ou non.
  4. Afficher les listes pairs et impairs.

Exercice 4 : Liste de listes

Plus communément appelées matrices, les listes de listes sont des listes donc chaque élément est une liste (comportant des éléments).

  1. Créer une liste matrice contenant les sous-listes suivantes : [1, 2, 3], [4, 5, 6], [7, 8, 9].
  2. Afficher l'élément situé à la position [1][2] (deuxième sous-liste, troisième élément).
  3. Ajouter une nouvelle sous-liste [10, 11, 12] à la fin de matrice et affiche la matrice mise à jour.
  4. Remplacer le nombre 6 (de la sous-liste [4, 5, 6]) par 60 et afficher la matrice modifiée.
  5. En utilisant des boucles dans des boucles, afficher chaque élément de chaque liste de la matrice.

Exercice 5 : Somme des éléments d'une liste

On souhaite pouvoir additionner tous les entiers présents dans une liste.

  1. Créer une liste de 10 entiers allant de 0 à 20.
Logique algorithmique

Pour additionner les éléments d'une liste, nous avons besoin :

  • d'une variable de résultat qui va contenir la somme ;
  • parcourir tous les éléments de la liste ;
  • pour chacun des éléments de la liste, l'additionner dans la variable de résultat ;
  • afficher la variable.
  1. En s'appuyant de l'algorithme, écrire les lignes permettant d'afficher la somme.

Exercice 6 : Conversion binaire vers décimal

On souhaite dans cet exercice utiliser une liste contenant des 0 et des 1, et la convertir en binaire.
Exemple :

l = [0,0,1,0,1,0,1]
# donnerait 21
  1. Créer une liste binaire contenant des 0 et des 1.
  2. L'élément à l'indice 0 correspond à la plus grande puissance de 2. L'élément au dernier indice correspond à 20. A l'aide d'une boucle, afficher toutes les puissances de 2, où la valeur 1 est présente dans la liste.
  3. Ajouter toutes ces valeurs dans une variable décimale.
  4. Afficher le résultat à la fin de la boucle.

Exercice 7 : Conversion décimal vers binaire

  1. A l'aide d'un input (permettant de saisir du texte), saisir un entier (on oubliera pas de mettre int devant).
  2. Créer une liste liste_binaire vide.
  3. En utilisant des divisions euclidiennes avec une boucle while, ajouter dans la liste liste_binaire le reste de la division euclidienne à chaque étape.
  4. Inverser la liste obtenue et l'afficher.