Python au bac : Essentiel & Entraînement

1. Rappels des structures de base

Fonction & Conditions

Définition def et structure if...else

Une fonction est un bloc d'instructions réutilisable. Le if permet d'exécuter un code selon une condition.

def verifier_parite(n): if n % 2 == 0: # Si le reste de la division par 2 est 0 return "Pair" else: # Sinon return "Impair"
Boucles

Boucles for et while

For : pour un nombre d'itérations connu.
While : tant qu'une condition est vraie (utilisé pour les seuils).

# Boucle FOR (ex: 10 répétitions) for i in range(0, 10): print(i) # Boucle WHILE (ex: seuil) while u < 100: u = u * 1.05
Listes

Manipulation des listes

Les listes permettent de stocker des suites de valeurs.

L = [5, 12, 8] # Liste initiale L.append(20) # Ajoute 20 à la fin de la liste valeur = L[0] # Accède au 1er élément (ici 5) taille = len(L) # Donne le nombre d'éléments

2. Exercices d'entraînement

Seuil

1. Algorithme de Seuil

Rejets initiaux : 500 kg. Baisse de 5% par jour. Quand passe-t-on sous les 100 kg ?

def seuil_pollution(): rejet = ... jours = 0 while ... : rejet = ... jours = ... return ...
Corrigé
def seuil_pollution(): rejet = 500 jours = 0 while rejet > 100: rejet = rejet * 0.95 jours = jours + 1 return jours
Listes

2. Remplissage de liste

Stocker les 10 premières valeurs d'une population qui double chaque heure (début à 3).

def evolution_bacteries(): population = ... L = [] for h in range(... , ...): L.append(...) population = ... return L
Corrigé
def evolution_bacteries(): population = 3 L = [] for h in range(0, 10): L.append(population) population = population * 2 return L
Logique Imbriquée

3. Somme avec condition d'arrêt

On place 1000 € à 4% d'intérêts. On s'arrête si on dépasse 2000 € OU si on atteint 15 ans.

def placement(): capital = 1000 annees = 0 while capital < ... and annees < ...: capital = capital * ... annees = ... if capital > 1800: print("Seuil critique proche") return annees
Corrigé
def placement(): capital = 1000 annees = 0 while capital < 2000 and annees < 15: capital = capital * 1.04 annees = annees + 1 if capital > 1800: print("Seuil critique proche") return annees
Exercice Type Bac

2. Propagation d'une application mobile

En 2026, une application compte 1 500 utilisateurs.

Déterminer l'année à partir de laquelle le nombre d’utilisateurs sera inférieur à 700.

def etude(): n = ... # n est l'année u = ... # u est le nombre d'utilisateurs while u > ... : n = ... if n < ... : u = ... else: u = ... return ...
Corrigé

On utilise *1.08 pour une hausse de 8% et *0.90 pour une baisse de 10%.

def etude(): n = 2026 # Année de départ u = 1500 # Utilisateurs initiaux while u > 700: # On continue tant qu'on est au-dessus du seuil n = n + 1 if n < 2035: u = u * 1.08 else: u = u * 0.90 return n
Objectif Bac

Construction d'une liste dynamique

On considère la suite $(u_n)$ définie par $u_0 = 10$ et $u_{n+1} = 0,5u_n + 3$.
Cette suite décroît vers 6.
Compléter le programme suivant afin d'obtenir la liste de tous les termes de la suite qui sont strictement supérieurs à 6,01.

def liste_termes(): L = [] u = 10 while ... : L.append(...) u = ... return ...
Voir le corrigé détaillé

On utilise une boucle while car on ne connaît pas à l'avance le nombre de termes à intégrer.

def liste_termes(): L = [] u = 10 while u > 6.01: L.append(u) # On ajoute le terme tant qu'il respecte la condition u = 0.5 * u + 3 # On calcule le suivant pour le test de la boucle return L

Analyse :
• À l'entrée dans la boucle, $u=10$. Comme $u > 6,01$, $\quad 10$ est ajouté à la liste.
• Le dernier terme ajouté sera le dernier terme de la suite encore supérieur à 6,01.
• Dès que $u$ devient inférieur ou égal à 6,01, la boucle s'arrête et la liste est renvoyée.