T.D.
1
Découverte de Python
I - Variables
Exercice 1. (-) Déterminer les valeurs des variables à l'issue des lignes de commandes suivantes.
1. 3. 5.
a1 = 1 a = 4 x = 5
i = 1 b = 2 y = 2 * x + 3
ai = 3 c = b x = 100
i = 3 b = a
ai = 6 6.
4.
2. a = 3
a = 4 b = 4
a = 2
b = 2 x = a
b = 4
c = b a = b
c = a
b = a b = x
b = a
a = c
c = b - a
Exercice 2. (-) Expliquer pourquoi les lignes de commandes suivantes ne fonctionnent pas.
1. 2.
a = 4 b = 2
b = 2 b = a
2 = a
b = 3
Exercice 3. (-) Donner les valeurs nales des variables x et y.
1. Aectation classique 2. Aectation très pythonique.
x = 19 x = 19
x = x + 2 x, y = x + 2, x * 2
y = x * 2
Exercice 4. (Échange des contenus de deux variables, ♥) On suppose que les variables x et y ont pour
valeurs respectives les entiers 3 et 4. On souhaite échanger le contenu de ces deux variables.
1. Proposer une méthode qui utilise une variable auxiliaire appelée tmp.
2. On exécute la séquence d'instructions suivante : x = x + y; y = x - y; x = x - y. Quel est le
contenu des variables x et y en n de séquence ?
II - Fonctions
Exercice 5. (-) Expliquer pourquoi les programmes suivants ne fonctionnent pas.
1. 3.
rad_deg def(angle) : def vol(r,l) :
return (angle * 180 / 3.1) aire = 3.14 * r**2
volume = aire * l
2. return volume
def vol(l,r) : 4.
volume = 3.14 * l^2
aire = volume * r def vol(r,l) :
return aire return (pi*r**2*l)
Chapitre 8. Découverte de Python MPSI 1
Exercice 6. (-) Donner la valeur de la variable x à l'issue de ces lignes de code.
x = 6
def fct1(y) :
x = 3 * y + 2
return x
x = 5
def fct2(y) :
return 2 * fct1(y)**2 + 2 * y
x = fct1(x) + 2 * fct2(x) - 3
Exercice 7. ( !) Pour chacun des programmes suivants, déterminer les valeurs de mult_3(4) puis de N.
Lesquels de ces programmes permettent de retourner la multiplication par 3 ?
1. 3.
N = 3 def mult_3(x) :
def mult_3(x) : N = 3
N = 4 return (N *x)
return (N * x)
4.
2.
N = 3
N = 3 def mult_3(x) :
def mult_3(N) : return (N * x)
return (N * N) N = 4
Exercice 8. (♥)
1. Écrire une procédure hms(N) qui reçoit un nombre N de secondes, le convertit en heures / minutes /
secondes et retourne ces trois valeurs (on utilisera les opérateurs de division euclidienne).
2. Transformer la quantité 4529 secondes.
Exercice 9. ( !)
1. Écrire une fonction mult(a) qui prend comme argument un ottant a et retourne une fonction qui
permet de multiplier tout nombre ottant par a.
2. Quel est le type de mult(7) ? Calculer mult(7)(3) .
L ycée Stanisla 21 A. Camane