2023–2024
Thème F NSI
Introduction à Python Exercices
Capacités attendues :
• Mettre en évidence un corpus des constructions élémentaires.
• Utiliser la documentation d’une bibliothèque.
• Prototyper une fonction.
Corrigé partiel :
1.1 1.2
>>> b
>>> x >>> x;y;z 64
3 3
>>> y 3
3 5
1.3
Expression Type Valeur
5 + 6 entier 11
5 + 3.0 flottant 8.0
15/3 flottant 5.0
15//3 entier 5
15 + '3' message d’erreur
'15' + '3.0' chaîne de caractères '153.0'
17%6 entier 5
2<3 booléen True
'2<3' chaine de caractères ’2<3’
1.4
(a) 27 (b) 'DaDaDaDa' (c) error
(d) 'PaLaPaLa' (e) error (f) 2.5
(g) 2 (h) 1 (i) '444'
(j) 6.2 (k) error (l) '0.750.75'
(m) False (n) False (o) True
(p) True (q) error (r) True
1.5
1. mot est une chaîne de caractères et nombre est un entier
2. 'hellooooo' ?
1.6
1. On obtient 9 en console
2. La variable compteur a pour valeur 18.
3. Il faut remplacer dans la dernière compteur par print(compteur).
1
4.
message = "Bonjour !"
compteur = 0
for indice in range(len(message)):
compteur = compteur + 1
print(compteur)
5. La fonction len.
1.7 parcours est une variable et non une chaîne de caractères. On peut parcourir la chaîne soit par l’instruction for
caractere in "parcours" soit par for caractere in message
1.8 On obtient en console 'pror'. Pour obtenir pcr, on peut remplacer if indice%2 == 0 : par if indice%3 == 0 :.
1.9
def compte(message : str) -> int :
compteur = 0
for indice in range(len(message)): #ou for caractere in message
compteur = compteur + 1
return compteur
def affiche(message : str) -> None:
for caractere in message :
print(caractere)
return None
def pair(message: str)-> str :
new = ""
for indice in range(len(message)) :
if indice%2 == 0 :
new += message[indice]
return new
1.10
def reduction(articles : int, prix : int) -> str
if articles < 0 or articles == 0 :
message = "Veuillez saisir un nombre d'articles et un prix strictement positifs"
else :
if articles < 10 :
nouveauPrix = prix*0.9
else :
nouveauPrix = prix*0.8
message = "Le nouveau prix est de " + nouveauPrix + " euros."
return message
1.11 I y a un message d’erreur car a est une chaîne de caractères, l’instruction a + 1 est donc impossible. Modification :
a = int(input("saisir un nombre : "))
print("le nombre suivant est", a +1)
1.12
from math import pi
def infosDisque(rayon : float) -> (float,float) :
perimetre = 2 * pi * rayon
aire = pi * rayon**2
return perimetre, aire
1.13
1. a. Le nom de la fonction randint est importée depuis la bibliothèque random.
b. Pour avoir la documentation de la bibliothèque, il faut saisir help("random") et pour avoir celle de la fonction
importée il faut saisir help(randint).
2. a. Il faut saisir from math import floor ?
b. On obtient un message d’erreur si on saisit [Link](4.8), et si on saisit floor(4.8) on obtient 4.
2
QCM Chaque question de cette partie est tirée des banques de sujet. Les calculatrices ne sont pas autorisées et pour chaque
question seule une bonne réponse est possible.
1. La documentation de la bibliothèque random de Python précise que [Link](a,b) renvoie un nombre aléatoire
N tel que a ≤ N ≤ b.
Afin d’obtenir un entier choisi aléatoirement dans l’ensemble {−4; −2; 0; 2; 4} après avoir importé la librairie random de
Python, on peut utiliser l’instruction :
(a) [Link](0,8)/2 (b) [Link](0,8)/2 - 4
(c) [Link](0,4)*2 - 2 (d) ([Link](0,4) - 2)*2
2. La documentation de la fonction floor de la bibliothèque math est :
floor(x)
Return the floor of x as an Integral. This is the largest integer <= x.
Que vaut floor(-2.2) ?
(a) −2 (b) −3
(c) on obtient une erreur, car −2.2 n’est pas un entier (d) 2.2
3. On souhaite échanger les contenus de deux variables a et b sans utiliser de variable auxiliaire en écrivant le code suivant :
a = a - b
b = a + b
a = ...
(a) a - b (b) a + b (c) b - a (d) -a - b
4. On exécute le code suivant :
Quelle est la valeur de t après l’exécution de ce code ?
def essai():
a = 2 (a) 2 (b) 3
b = 3
c = 4 (c) 4 (d) (2, 3, 4)
return a
return b
return c
t = essai()
5. En Python, quelle est la méthode pour charger la fonction sqrt du module math ?
(a) using [Link] (b) #include [Link] (c) from math include sqrt (d) from math import sqrt
6. Un programme Python commence par la ligne :
import os
À quoi sert cette ligne ?
(a) c’est le début du squelette de tout programme Python
(b) c’est la déclaration du système d’exécution (operating system)
(c) Python 3.6 exige cette ligne au début de tout programme
(d) c’est la déclaration d’une bibliothèque (ou module) que le programme compte utiliser