Fiche de révision : Programmation Python : fonctions et boucles

Plan du Cours

  1. Fonctions et tuples
  2. Tests automatisés avec l1test
  3. Approche descendante et décomposition
  4. Calcul du lendemain
  5. Conditions et année bissextile
  6. Construction incrémentale du château
  7. Boucle for et fonction range

1. Fonctions et tuples

Notions clés & Définitions

  • Tuple : Objet Python qui permet de manipuler plusieurs valeurs, écrites séparées par des virgules et éventuellement entourées de parenthèses.

Points essentiels

  • L'affectation ma_date = **2026, 9, 11** crée un tuple, et annee, mois, jour = ma_date récupère séparément ses trois valeurs.

  • Une fonction Python peut recevoir un tuple en argument et renvoyer plusieurs résultats en retournant un tuple.

Astuce mémo

Un tuple comme une boîte contenant plusieurs valeurs, déballées par affectation multiple

2. Tests automatisés avec l1test

Notions clés & Définitions

  • Docstring : Chaîne de caractères placée au début du corps d'une fonction pour spécifier ce qu'elle fait et contenir des exemples de tests.

Points essentiels

  • Avec l1test, on écrit dans la docstring un appel près de $$$ puis la valeur attendue, avant de lancer tous les tests avec le bouton « Run All tests ».

  • Pour la fonction lendemain, les tests doivent notamment couvrir une date ordinaire, les fins de mois à 30 et 31 jours, la fin d'année, le 28 février d'une année non bissextile, le 28 février d'une année bissextile et le 29 février.

Astuce mémo

Cas particulier → test dans la docstring → Run All tests → correction

3. Approche descendante et décomposition

Notions clés & Définitions

  • Approche descendante : Consiste à décomposer un problème en problèmes plus petits, dont la résolution peut être reportée ou confiée à des fonctions spécialisées.

Points essentiels

  • Pour calculer le lendemain, on ajoute d'abord un jour, puis on traite séparément le dépassement du dernier jour du mois et le changement éventuel d'année.

Astuce mémo

Problème complexe → sous-problèmes plus petits → fonctions spécialisées

4. Calcul du lendemain

Notions clés & Définitions

  • Dernier jour du mois : La fonction dernier(mois, annee) renvoie 30 pour avril, juin, septembre et novembre, 29 ou 28 pour février selon l'année, et 31 pour les autres mois.

Points essentiels

  • La fonction lendemain décompose la date en année, mois et jour, augmente le jour, puis remet le jour à 1 et augmente le mois si le jour dépasse dernier(mois, annee), avant de gérer le passage de décembre à janvier.

Astuce mémo

Jour suivant → changement de mois → changement d’année

5. Conditions et année bissextile

★ À maîtriser

📌 Une année est bissextile si elle est divisible par 4 et non divisible par 100, ou si elle est divisible par 400.

Compléments

  • La propriété bissextile est exprimée par annee % 4 == 0 and annee % 100 != 0 or annee % 400 == 0.

📌 L'opérateur ternaire remplace if condition: return valeur_1 else: return valeur_2 par return valeur_1 if condition else valeur_2, et permet aussi une affectation conditionnelle.

Astuce mémo

Février bissextile : 29 jours ; année non bissextile : 28 jours

6. Construction incrémentale du château

Notions clés & Définitions

  • Construction incrémentale : Part d'une valeur initiale et effectue une série de mises à jour jusqu'à obtenir la valeur finale.

Points essentiels

  • Dans le problème du château de cartes, l'entrée est un entier représentant le nombre d'étages et le résultat est un entier représentant le nombre de cartes.

  • Pour passer d'un château de n − 1 étages à un château de n étages, on met à jour la base avec base = base + 3, puis le total avec nb_cartes = nb_cartes + base.

Astuce mémo

Nouvelle base → nouvelles cartes → château d’étage supérieur

7. Boucle for et fonction range

Notions clés & Définitions

  • range : range est un itérable qui distribue des entiers selon une borne de départ, une borne d'arrivée exclue et éventuellement un pas.

Points essentiels

  • range(a, b) distribue les entiers de a à b − 1, range(a, b, p) utilise le pas p, et range(b) équivaut à range(0, b, 1).

  • La fonction chateau(nb_etages) initialise nb_cartes et base à 2, puis parcourt range(2, nb_etages + 1) pour mettre à jour ces deux variables et renvoyer le nombre total de cartes.

Astuce mémo

Initialiser → parcourir range → mettre à jour → obtenir le résultat

Tableaux de synthèse

Formes de range

ExpressionEntiers distribuésUsage dans le château
range(a, b)a à b − 1Borne de départ et borne finale exclue
range(a, b, p)a, a + p, etc., avant bItération avec un pas
range(b)0 à b − 1Équivalent à range(0, b, 1)

Teste tes connaissances

Teste tes connaissances sur Programmation Python : fonctions et boucles avec 11 questions à choix multiples et corrections détaillées.

1. Après l’affectation `ma_date = 2026, 9, 11`, que produit l’instruction `annee, mois, jour = ma_date` ?

2. Quel est le rôle d’une docstring placée au début du corps d’une fonction Python ?

Faire le QCM →

Révisez avec les flashcards

Mémorisez les concepts clés de Programmation Python : fonctions et boucles avec 11 flashcards interactives.

Qu'est-ce qu'un tuple en Python ?

Un objet qui manipule plusieurs valeurs séparées par des virgules.

Que fait l'affectation `annee, mois, jour = ma_date` ?

Elle récupère séparément les trois valeurs du tuple.

Qu'est-ce qu'une docstring dans une fonction ?

Une chaîne de caractères au début du corps d'une fonction décrivant son rôle et contenant des exemples de tests.

Voir les flashcards →

Cours similaires

Crée tes propres fiches de révision

Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.

Générateur de fiches