Vous êtes sur la page 1sur 31

Python

« Un langage accessible pour en finir avec la pensée magique»

22/03/2021 Thomas AVRON 1


Module 1 : Module 2 : Module 3 :
Contrôler le Conteneurs
Premiers Pas déroulement des et
instructions boucles

Module 4 : Module 5 : Module 6 :


Fenêtres
Programmation
et Fichiers et POO
fonctionnelle
graphismes

22/03/2021 Thomas AVRON 2


Conteneurs standards et
contrôle du flux d’instructions
Module 2 : Contrôler le déroulement des instructions.
Module 3 : Conteneurs et boucles

22/03/2021 Thomas AVRON 3


Objectifs pédagogiques :
• Travailler avec les structures de données en
Python, l’exemple des chaînes
• Utiliser les tuples
• Utiliser les listes
• Utiliser les ensembles
• Utiliser les dictionnaires
• Choisir selon les cas des alternatives
• Boucler de différentes manières
• Rompre des séquences

22/03/2021 Thomas AVRON 4


À vous de jouer !
• On fournit une variable numérique flottante a avec une valeur
quelconque. Ecrivez l’expression logique qui est vraie lorsque a
est dans l’intervalle fermé [10, 20]
• Ecrire un programme qui, a partir de la saisie d’un rayon et
d’une hauteur, calcule le volume d’un cône droit (on rappelle
que le volume du cône est donnée par où r est h sont
respectivement le rayon et la hauteur du cône).

22/03/2021 Thomas AVRON 5


À vous de jouer !
• Soit une variable nbessais contenant un nombre de tentatives
déjà effectuées de saisie d’une valeur, ne pouvant dépasser 5
essais. Soit une variable v contenant un nombre entier que l’on
veut strictement positif, divisible par 3 (le reste de la division
entière par 3 doit être nul) et strictement inférieur à 100.
Donner l’expression logique qui est vraie lorsque la
valeur n’est pas valide et qu’il est encore possible de
tenter une nouvelle saisie.

22/03/2021 Thomas AVRON 6


Objectifs pédagogiques :
• Travailler avec les structures de données en
Python, l’exemple des chaînes
• Utiliser les tuples
• Utiliser les listes
• Utiliser les ensembles
• Utiliser les dictionnaires
• Choisir selon les cas des alternatives
• Boucler de différentes manières
• Rompre des séquences

22/03/2021 Thomas AVRON 7


À vous de jouer !
• Définissez une chaîne de caractères :

• Le type str est mutable ou immutable ?

• Qu’est ce que Unicode ?

22/03/2021 Thomas AVRON 8


À vous de jouer !
• Définissez une chaîne de caractères : c’est une séquence de caractères
Unicode (valeurs textuelles tel que espaces, symboles et
alphanumériques…). On peut l’écrire en Python avec des guillemets (simple,
double and triple quote).

• Le type str est mutable ou immutable ? Il est immutable c’est-à-dire que


l’on ne peut pas modifier un str une fois crée en mémoire. Toute
transformation amène la création d’une nouvelle valeur distincte.

• Qu’est ce que Unicode ? https://www.youtube.com/watch?v=-n2nlPHEMG8

22/03/2021 Thomas AVRON 9


À vous de jouer !
• A partir d’une variable s contenant « Dark side of the moon »,
écrire l’expression permettant, à partir de cette variable, de
construire cette même chaîne avec la première lettre de chaque
mot en majuscule, encadré de caractères =, l’ensemble sur une
largeur de 60 caractères :
« ===================Dark Side Of The Moon=================== »

22/03/2021 Thomas AVRON 10


À vous de jouer !
• A partir d’une variable s contenant « Dark side of the moon »,
écrire l’expression permettant, à partir de cette variable, de
construire cette même chaîne avec la première lettre de chaque
mot en majuscule, encadré de caractères =, l’ensemble sur une
largeur de 60 caractères :
« ===================Dark Side Of The Moon=================== »

s.title().center(60, ‘=‘)

22/03/2021 Thomas AVRON 11


À vous de jouer !
• Que renvoie cette instruction :
len(‘Jonathan’)

• Len() est une fonction. Connaissez vous un autre moyen d’agir


sur les chaines de caractères ?

• A quoi est évaluée l’expression suivante :


y in ‘Python’

22/03/2021 Thomas AVRON 12


À vous de jouer !
• Que renvoie cette instruction :
len(‘Jonathan’) => 8 soit le nombre de lettre dans Jonathan, ce qui correspond à la
longueur de la séquence de caractères.

• Len() est une fonction. Connaissez vous un autre moyen d’agir sur les chaines de
caractères ?
OUI ! Avec des méthodes sur les chaines de caractères. Nous en avons eu deux
présentées dans le précédent exercice :
ma_chaine.center(nbr, char) et ma_chaine.title()

• A quoi est évaluée l’expression suivante :


y in ‘Python’ => elle est évaluée à True ! C’est un test d’appartenance !

22/03/2021 Thomas AVRON 13


À vous de jouer !
• Ecrivez en mode script un court programme qui demande à
l’utilisateur de saisir son nom, son prénom et lui demande son
genre (deux choix : M ou F). En fonction de la réponse, une
chaîne de caractères contenant Monsieur ou Madame (selon
son genre) suivi de son prénom et de son nom est créée, et on
compte le nombre de voyelles dans cette chaîne de caractères.
• Exemple avec nom = « AVRON », prénom = « Thomas », genre = « M » :
• « Monsieur Thomas AVRON »
• 8 voyelles

22/03/2021 Thomas AVRON 14


À vous de jouer !
• Soit l’instruction suivante : s = « Rayon de la mort »
• Que renvoie s[0] ?
• Que renvoie s[-1] ?

• Qu’est-ce qu’un slicing ? Comment le réaliser sur ma chaîne s ?

• Qu’est-ce que le transtypage ?

22/03/2021 Thomas AVRON 15


À vous de jouer !
• Soit l’instruction suivante : s = « Rayon de la mort »
• Que renvoie s[0] ? => R
• Que renvoie s[-1] ? => t

• Qu’est-ce qu’un slicing ? Comment le réaliser sur ma chaîne s ?


C’est une extraction de tranche, c’est-à-dire une extraction de sous-
chaîne de caractères. Exemple : s[1:12:3]

• Qu’est-ce que le transtypage ? C’est forcer le type d’une variable en


le transformant (ex : str(3) )
22/03/2021 Thomas AVRON 16
Objectifs pédagogiques :
• Travailler avec les structures de données en
Python, l’exemple des chaînes
• Utiliser les tuples
• Utiliser les listes
• Utiliser les ensembles
• Utiliser les dictionnaires
• Choisir selon les cas des alternatives
• Boucler de différentes manières
• Rompre des séquences

22/03/2021 Thomas AVRON 17


À vous de jouer !
• Qu’est ce qu’une séquence ?

22/03/2021 Thomas AVRON 18


À vous de jouer !
• Qu’est ce qu’une séquence ?
Une séquence est un conteneur ordonné d’éléments indexés
par des entiers indiquant leur position dans le conteneur.
Exemple : les chaînes de caractères, les tuples, les listes.

22/03/2021 Thomas AVRON 19


À vous de jouer !
• Qu’est ce qu’un tuple ?

22/03/2021 Thomas AVRON 20


À vous de jouer !
• Qu’est ce qu’un tuple ?
Un tuple est une collection ordonnée et non modifiable
d’éléments éventuellement hétérogènes.

Les éléments d’un tuple sont séparés par des virgules et entourés
de parenthèses. Un tuple ne contenant qu’un seul élément (un
singleton) doit être obligatoirement noté avec une virgule
terminale.

22/03/2021 Thomas AVRON 21


À vous de jouer !
• Pourquoi faire des tuples et des listes ? N’est-ce pas
redondant ?
• Que font les portions de code suivantes ?

22/03/2021 Thomas AVRON 22


À vous de jouer !
• Pourquoi faire des tuples et des listes ? N’est-ce pas
redondant ? Le parcours des tuples est plus rapide, utiles pour
définir les constantes.
• Que font les portions de code suivantes ?

22/03/2021 Thomas AVRON 23


À vous de jouer !
• Que font les portions de code suivantes ?
• Que renvoie l’opération : 9 in mon_autre_tuple

22/03/2021 Thomas AVRON 24


À vous de jouer !
• Un outil utile : le tuple unpacking.
• mon_tuple = (‘Jonathan’, ‘KOLODE’)
• prenom, nom = mon_tuple

• C’est ce que l’on a utilisé pour inverser des valeurs de deux


variables.

22/03/2021 Thomas AVRON 25


À vous de jouer !
• Soit l’environnement suivant :
a = ‘toto’
b = ‘momo’
c = ‘soso’

Comment faire pour que a contienne la valeur ‘soso’, b la valeur ‘toto’ et


c la valeur ‘momo’ en une ligne ?

22/03/2021 Thomas AVRON 26


À vous de jouer !
• Soit l’environnement suivant :
a = ‘toto’
b = ‘momo’
c = ‘soso’

Comment faire pour que a contienne la valeur ‘soso’, b la valeur ‘toto’ et


c la valeur ‘momo’ en une ligne ?

a, b, c = c, a, b

22/03/2021 Thomas AVRON 27


Objectifs pédagogiques :
• Travailler avec les structures de données en
Python, l’exemple des chaînes
• Utiliser les tuples
• Utiliser les listes
• Utiliser les ensembles
• Utiliser les dictionnaires
• Choisir selon les cas des alternatives
• Boucler de différentes manières
• Rompre des séquences

22/03/2021 Thomas AVRON 28


À vous de jouer !
• Le mélange de Monge d’un paquer de cartes numérotées de 2 à
« 2n » (où n est un entier) consiste à démarrer un nouveau
paquet avec la carte 1, à placer la carte 2 au-dessus de ce
nouveau paquet, puis la carte 3 au-dessous du nouveau paquet et
ainsi de suite en plaçant les cartes paires au-dessus du nouveau
paquet et les cartes impaires au dessous.
• Ecrire un script qui affiche le paquet initial et le paquet mélangé.
• Exemple d’affichage pour n = 5 :
Paquet initial : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Mélange de Monge : [10, 8, 6, 4, 2, 1, 3, 5, 7, 9]

22/03/2021 Thomas AVRON 29


À vous de jouer !

22/03/2021 Thomas AVRON 30


MERCI !

22/03/2021 Thomas AVRON 31

Vous aimerez peut-être aussi