Lyc´ee Benjamin Franklin PTSI−2013-2014
L. Grillet, D. Blotti`ere Informatique
TP n˚3 Uplets
1 Notion d’uplet en math´ ematiques et en Python
La notion den-uplet (n∈N∗) est une g´en´eralisation de celles de couple ou de triplet. Pour construire unn-uplet (n∈N∗) en Python, il suffit de placernexpressions s´epar´ees par des virgules et entour´ees de parenth`eses.
Voici un exemple d’affectation d’un 4-uplet d’entiers en Python.
u = (4,2,1,6)
On acc`ede `a lai-`eme composante (i∈J1, nK) d’unn-upletu(n∈N∗) grˆace au code suivant.
u[i-1]
On prendra garde au d´ecalage d’incide. En particulier la premi`ere composante de uest stock´ee dans la ≪va- riable≫ u[0].
Question 1
On travaillera ici directement dans la console (on n’´editera donc pas de fichier Python).
1. D´efinir une variableuen Python contenant le 8-uplet (1,-4,5,6,7,0,3,4).
2. Extraire deusa premi`ere composante.
3. Extraire deusa troisi`eme composante.
4. Extraire deusa derni`ere composante.
5. Saisiru[8]et commenter.
6. Saisiru[-1]et commenter.
7. Saisiru[-2]et commenter.
2 La longueur d’un uplet
On peut acc´eder `a la longueur d’unn-upletu(n∈N∗) grˆace au code suivant.
len(u)
Question 2
Ecrire un programme qui :´
• demande `a l’utilisateur de saisir un uplet u;
• affiche la longueur deu.
3 Calcul du plus grand ´ el´ ement figurant dans un uplet d’entiers
Question 3
Ecrire un programme qui :´
• demande `a l’utilisateur de saisir un uplet d’entiersu;
• affiche la plus grande des composantes de u.
On renverra un message d’erreur si l’uplet saisi est vide (i.e. si l’utilisateur saisi l’uplet()).
1
4 Occurence d’un ´ el´ ement dans un uplet
Question 4
Ecrire un programme qui :´
• demande `a l’utilisateur de saisir un uplet d’entiersu;
• affiche un message indiquant si le nombre 6 apparaˆıt ou non dans l’uplet usaisi.
Question 5
1. Saisir le code suivant et commenter.
1. u = (1,2,3,4,5,6) 2. belong6u = 6 in u 3. print(belong6u) 4. v = (1,2,3,4,5) 5. belong6v = 6 in v 6. print(belong6v) 2. Utiliserinpour donner une autre r´eponse `a la question 4.
5 R´ ep´ etition dans un uplet
Question 6
Ecrire un programme qui :´
• demande `a l’utilisateur de saisir un upletu;
• affiche un message indiquant s’il y a ou non une r´ep´etition dansu.
6 Concat´ enation
Soient (x1, . . . , xm) et (y1, . . . , yn) deux uplets (m∈N∗,n∈N∗). L’uplet obtenu en concat´enant (x1, . . . , xm) avec (y1, . . . , yn) par la droite est par d´efinition l’uplet :
(x1, . . . , xm, y1, . . . , yn).
En Python, la concat´enation peut se faire `a l’aide de l’op´erateur+. Pr´ecis´ement, le concat´en´e d’un upletuavec un upletvpar la droite est donn´e par la commande suivante.
u+v
Question 7
Ecrire un programme qui :´
• demande `a l’utilisateur de saisir un premier uplet u;
• demande `a l’utilisateur de saisir un deuxi`eme uplet v;
• affiche le concat´en´e deuavecvpar la droite.
Question 8
Ecrire un programme qui :´
• demande `a l’utilisateur de saisir un uplet u;
• cr´ee un nouvel upletvobtenu `a partir deuen ne gardant que sa premi`ere et sa derni`ere composante (dans cet ordre) ;
• affiche l’upletv.
On renverra un message d’erreur si la longueur de l’uplet saisi est inf´erieure ou ´egale `a 1.
Question 9
Ecrire un programme qui :´
• demande `a l’utilisateur de saisir un upletu;
• cr´ee un nouvel upletvobtenu `a partir deuen ´echangeant l’ordre de ses composantes ;
• affiche l’upletv.
2