Tp8_B.docx page 1 / 10 OBJECTIFS : L’objectif de ce TP est de réaliser des codes pythons utilisant la structure de listes
DOCUMENT A RENDRE : Ce travail est évalué. Vous en rédigerez un compte-rendu sous le nom
« tp8_nomfamille.doc » ou « tp8_nomfamille.odt » et vous le transférerez en fin d’activité par l’intermédiaire de l’onglet transfert du site, en utilisant le code : tp8 . Ce compte-rendu contiendra :
- les réponses aux différentes questions posées,
- les captures d’écran des morceaux de codes écrits et celles des résultats des exécutions données dans le shell. Pour faire ces captures, utiliser l’Outil Capture d’écran de Windows.
1. Comment créer et parcourir les listes :
Exécuter les scripts ci-dessous et donner le résultat de leur exécution :
Scripts Résultat de l’exécution dans le shell
Tp8_B.docx page 2 / 10
Tp8_B.docx page 3 / 10 2. Plusieurs façons de créer une liste :
Le script ci-dessous permet de créer une liste ℓ contenant les 25 premiers nombres pairs : Script :
Résultat à l’exécution :
a) Le script ci-dessous, incomplet, permet de créer cette même liste ℓ , en créant une liste de 25 zéros puis en modifiant les 25 éléments de la liste dans une boucle : compléter ce script
Script :
Résultat à l’exécution :
b) Le script ci-dessous, incomplet permet aussi de créer cette même liste ℓ par compréhension : compléter ce script
Script :
Résultat à l’exécution :
On commence par créer une liste contenant 25 zéros.
Ici la liste est créée directement : on dit que la liste est créée par compréhension
Tp8_B.docx page 4 / 10
c) Enfin ce dernier script ci-contre, incomplet, permet de créer encore d’une autre manière cette liste ℓ : On crée une liste vide et on ajoute les 25 éléments dans une boucle, en utilisant la méthode append() appliquée à cette liste :
compléter ce script
Résultat à l’exécution :
3. Code qui parcourt une liste par éléments :
for …. in ……
Le code ci-dessous est incomplet. Il permet de déterminer le minimum, le maximum et la moyenne de la liste ℓ = [1,9,7,3,0,1,20] .
On commence par créer une liste vide
A compléter
A compléter
A compléter
On exécute ici la fonction min() et la valeur retournée est insérée dans le print .
On exécute ici la fonction moy() et la valeur retournée est insérée dans le print en arrondissant au dixième.
CONSEIL : écrire et tester
chacune des fonctions les
unes après les autres. Ne
pas vouloir tout faire en
même temps. Dès
qu’une ligne est écrite, il
faut la tester.
Tp8_B.docx page 5 / 10 Résultat à l’exécution :
Compléter ce script.
4. Utilisation du code précédent sur des listes importantes
Télécharger le fichier ligue1.py à partir de https://nsibranly.fr . Copier ce fichier dans votre répertoire de travail pour ce tp.
Dans Pyzo, dans l’onglet Exécuter, s’assurer que la case
« Changer le répertoire courant …. » est cochée :
Dans un nouveau fichier (exercice4.py), importer les listes noms, ages, tailles et poids qui se trouvent dans le fichier ligue1.py téléchargé. Ces listes contiennent respectivement les noms, âges, tailles en cm et poids en kg de tous les joueurs et entraineurs de la ligue1 de football, saison 2021-22.
Exécuter ce script et afficher ces listes, en tapant par exemple noms dans le shell, ou tailles.
Attention : Certaines tailles ou poids sont manquants. Dans ce cas la valeur enregistrée dans la liste est 0.
A compléter
Tp8_B.docx page 6 / 10
Compléter le code précédent en reprenant en partie les fonctions max() , min() et moy() afin d’obtenir les minimum, maximum et moyenne de chacune des listes. L’exécution de votre script devra donner :
Attention, certaines tailles ou poids sont manquants. Dans ce cas la valeur enregistrée dans la liste est 0. Le calcul du minimum et de la moyenne ne devra pas prendre en compte ces valeurs à 0.
5. Code qui parcourt une liste par indice :
for …. in range(len(liste))
Le code ci-dessous est incomplet.
Lors de son exécution on obtient :
Compléter ce code
A compléter
Tp8_B.docx page 7 / 10 6. Code qui parcourt une liste par indice :
for …. in range(len(liste))
Le code ci-contre est incomplet. Il permet de changer les valeurs négatives d’une liste en les remplaçant par leur opposée.
Lors de son exécution on obtient :
Compléter ce code
7. Code qui parcourt une liste par indice :
for …. in range(len(liste))
Le code ci-contre est incomplet. Il permet de supprimer les valeurs négatives d’une liste en utilisant la fonction del() de python.
Lors de son exécution on obtient :
Compléter ce code
A compléter en écrivant le script de
la fonction
valeur_absolue()
A compléter en écrivant le script de
la fonction
menage()
Tp8_B.docx page 8 / 10 8. Code qui parcourt une liste par indice :
for …. in range(len(liste))
Le code ci-contre est incomplet. Il permet de changer l’ordre des valeurs.
Lors de son exécution on obtient :
Compléter ce code
9. Code qui séparer les mots d’une phrase Le code ci-contre est
incomplet. Il permet d’isoler les différents mots d’une phrase dans une liste.
Lors de son exécution on obtient :
Compléter ce code.
A compléter en écrivant le script de la fonction envers()
Compléter le script de la fonction separe()
Tp8_B.docx page 9 / 10 10. Code qui séparer les mots d’une phrase
Le code ci-contre est incomplet. Il permet de crypter une phrase en réécrivant cette phrase avec chaque mot écrit à l’envers.
Lors de son exécution on obtient :
Compléter ce code.
Aller sur le site nsibranly.fr , loguez-vous et faites un copié-collé de la phrase issue de l’exécution de ce code python, dans la barre d’Url du navigateur :
En rentrant cette Url, le navigateur envoie une requête au serveur du site nsibranly.fr qui est hébergé par la société OVH dans le nord de la France. Cette requête comprend bien sûr l’adresse du serveur, mais aussi la phrase cryptée par votre code python. En recevant cette requête, le serveur sait ce qu’il doit faire car il repère le code tp8 qui se trouve dans l’url. Il exécute ainsi un petit script de décryptage et renvoie une
Fonction separe() de l’exercice précédent
Fonction crypte() à compléter
Tp8_B.docx page 10 / 10 page html avec la phrase décryptée. Lors du transfert des données entre votre navigateur et le serveur, la phrase est numérisée. Par exemple la phrase
convertie en octets devient :
Cette transmission se fait en découpant ces données binaires en petits paquets auxquels on joint des entêtes.
On vous invite à visionner la vidéo sur nsibranly.fr qui présente de manière simplifiée le processus de découpage appelé protocole TCP.
Le code python mis au point permet ici de générer des messages cryptés qui sont encapsulés dans une adresse Url et que vous pouvez transmettre en lien à une autre personne … de la classe car il est nécessaire d’être logué pour lire ensuite le message.
NB : Dans les messages, ne pas utiliser d’accents ou caractères spéciaux. Le codage en binaire du texte et sa transmission n’est pas aussi simple que cela ….