QCM : Programmation Python : fonctions et boucles — 11 questions

Questions et réponses du QCM

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

Elle inverse l’ordre des valeurs avant de remplir les variables.
Elle transforme la date en chaîne puis la répartit entre les variables.
Elle affecte séparément 2026, 9 et 11 aux trois variables.
Elle affecte la date entière à chacune des trois variables.

Elle affecte séparément 2026, 9 et 11 aux trois variables.

Explication

L’affectation multiple décompose le tuple et place successivement ses trois valeurs dans `annee`, `mois` et `jour`. Elle ne convertit pas le tuple en chaîne et ne modifie pas l’ordre des éléments.

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

Décrire le comportement de la fonction et fournir éventuellement des exemples de tests.
Remplacer les paramètres afin que la fonction accepte davantage d’arguments.
Exécuter automatiquement la fonction dès que le programme est lancé.
Stocker les résultats obtenus lors des précédents appels de la fonction.

Décrire le comportement de la fonction et fournir éventuellement des exemples de tests.

Explication

Une docstring est une chaîne placée au début d’une fonction pour préciser son comportement et peut contenir des exemples de tests. Elle ne déclenche pas l’exécution et ne sert pas de mémoire des appels précédents.

3. Quelle série de situations est pertinente pour tester la fonction `lendemain` avec l1test ?

Une date ordinaire, plusieurs fins de mois, le changement d’année et les cas du mois de février.
Trois dates ordinaires du printemps, sans tester les changements de mois ni les années bissextiles.
Des dates choisies au hasard, en vérifiant principalement le format d’affichage obtenu.
La date actuelle et deux dates voisines, sans distinguer février des autres mois.

Une date ordinaire, plusieurs fins de mois, le changement d’année et les cas du mois de février.

Explication

Les tests pertinents couvrent les dates ordinaires, les mois de 30 et 31 jours, la fin d’année ainsi que les différentes situations du mois de février. Les autres séries négligent au moins un cas limite important pour le calcul du lendemain.

4. Quel objet Python permet de regrouper plusieurs valeurs écrites séparées par des virgules, avec des parenthèses éventuellement présentes ?

Un dictionnaire
Une valeur booléenne
Un tuple
Une chaîne de caractères

Un tuple

Explication

Un tuple regroupe plusieurs valeurs dans un même objet Python, généralement séparées par des virgules. Une chaîne de caractères représente du texte, tandis qu’un dictionnaire associe des clés à des valeurs.

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

Une méthode pour décrire une fonction en Python avec des exemples dans la docstring.
Une fonction qui retourne toujours plusieurs résultats sous forme de liste.
Un objet permettant de manipuler plusieurs valeurs, séparées par des virgules et éventuellement entourées de parenthèses.
Une structure de données mutable utilisée pour stocker des éléments modifiables.

Un objet permettant de manipuler plusieurs valeurs, séparées par des virgules et éventuellement entourées de parenthèses.

Explication

Un tuple est un objet Python qui permet de manipuler plusieurs valeurs, écrites séparément par des virgules et éventuellement entourées de parenthèses. Contrairement à une liste, un tuple est immuable, ce qui le distingue.

6. Quelle syntaxe en Python permet de déballer un tuple en plusieurs variables distinctes ?

Une boucle for, par exemple : for annee, mois, jour in ma_date
Une déclaration de fonction, par exemple : def ma_fonction()
Une affectation simple, par exemple : ma_date = (2026, 9, 11)
An affectation multiple, par exemple : annee, mois, jour = ma_date

An affectation multiple, par exemple : annee, mois, jour = ma_date

Explication

L'affectation multiple permet de décomposer un tuple en plusieurs variables, comme dans l'exemple : annee, mois, jour = ma_date. La déclaration de fonction ne sert pas à cela, et la boucle for ne décompose pas un tuple directement dans ce contexte.

7. Quel est le rôle principal de l'approche descendante dans la résolution de problèmes en programmation ?

Décomposer un problème complexe en sous-problèmes plus simples, résolvables séparément.
Utiliser des fonctions récursives pour simplifier le code.
Écrire directement une solution complète sans décomposition préalable.
Créer une solution en partant de la solution finale pour remonter vers le problème initial.

Décomposer un problème complexe en sous-problèmes plus simples, résolvables séparément.

Explication

L'approche descendante consiste à décomposer un problème complexe en sous-problèmes plus petits, facilitant leur résolution séparée. La réponse qui évoque cette décomposition est donc correcte, contrairement aux autres qui décrivent des méthodes différentes ou incomplètes.

8. À quelle date la fonction `lendemain` doit-elle être capable de calculer le lendemain d'une date donnée ?

Elle doit uniquement traiter les dates du 1er janvier au 31 décembre, sans considérer les fins de mois.
Elle doit uniquement gérer les dates du 1er au 31 du mois, sans tenir compte des années bissextiles.
Elle doit pouvoir calculer le lendemain de n'importe quelle date dans l'année, y compris les fins de mois et les années bissextiles.
Elle doit pouvoir calculer le lendemain uniquement pour les mois de 30 jours.

Elle doit pouvoir calculer le lendemain de n'importe quelle date dans l'année, y compris les fins de mois et les années bissextiles.

Explication

La fonction `lendemain` doit gérer toutes les dates possibles, y compris les fins de mois et les années bissextiles, pour être complète. La gestion spécifique des fins de mois et des années bissextiles est essentielle pour assurer la précision du calcul.

9. Quelle différence principale existe-t-il entre une année bissextile et une année non bissextile en termes de nombre de jours en février ?

Une année bissextile a 29 jours en février, tandis qu'une année non bissextile en a 28.
Une année bissextile a 29 jours en février, tandis qu'une année non bissextile en a 27.
Une année bissextile a 30 jours en février, tandis qu'une année non bissextile en a 28.
Une année bissextile a 28 jours en février, tandis qu'une année non bissextile en a 27.

Une année bissextile a 29 jours en février, tandis qu'une année non bissextile en a 28.

Explication

Une année bissextile comporte 29 jours en février, ce qui est différent de l'année non bissextile qui en a 28. La règle pour déterminer si une année est bissextile repose sur sa divisibilité par 4, avec des exceptions pour celles divisibles par 100 mais pas par 400.

10. Qui est crédité de la formulation de la règle selon laquelle une année est bissextile si elle est divisible par 4 mais pas par 100, sauf si elle est divisible par 400 ?

Le calendrier grégorien
L'astronome Jules César
L'astronome Hipparque
Le mathématicien Carl Friedrich Gauss

Le calendrier grégorien

Explication

Cette règle est attribuée au calendrier grégorien, qui a été instauré pour corriger le calendrier julien. Elle permet de déterminer si une année est bissextile ou non, en ajustant la durée de l'année solaire.

11. Quelles sont les causes principales qui expliquent le fonctionnement de la boucle for combinée à la fonction range en Python ?

Range permet de générer des nombres aléatoires, ce qui influence le nombre d'itérations de la boucle for.
La boucle for parcourt une séquence d'entiers générée par range, permettant d'itérer sur une plage définie.
La boucle for s'exécute une seule fois, et range sert à définir la valeur initiale de la variable de boucle.
La fonction range crée une liste de tous les nombres entre deux bornes, que la boucle for parcourt entièrement.

La boucle for parcourt une séquence d'entiers générée par range, permettant d'itérer sur une plage définie.

Explication

La boucle for en Python utilise la fonction range pour générer une séquence d'entiers, ce qui détermine le nombre d'itérations. La fonction range ne crée pas une liste en mémoire (sauf en Python 2), mais un itérable qui fournit les valeurs successives.

Révisez avec les flashcards

Mémorisez les réponses avec 11 flashcards sur Programmation Python : fonctions et boucles.

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 →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Programmation Python : fonctions et boucles.

Voir la fiche →

Cours similaires

Crée tes propres QCM

Importe ton cours et l'IA génère des QCM avec corrections en 30 secondes.

Générateur de QCM