Files
TermNSI/Modularité/TP.md
2024-07-22 15:50:53 +02:00

3.1 KiB
Raw Permalink Blame History

TP

Première fonction : lancer de dé

Question 0 - Créer un module de.py.

Question 1 - Définir une fonction de qui simule un lancer de dé à 6 faces. On rappel que la fonction randint du module random permet le renvoie d'une valeur pseudo-aléatoire.

>>> de() in [1, 2, 3, 4, 5, 6]
True

Question 2 - Modifier la fonction de en lui donnant un nouveau paramètre n permettant de simuler un lancer à n faces.

>>> de(12) in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
True

Question 3 - Ajouter la docstring et la doctest de la fonction de.

Année bissextile

Question 4 - Créer un nouveau module bissextile.py.

Question 5 - Définir une fonction qui demande à l'utilisateur de saisir une année. On donnera uniquement la docstring de cette fonction.

Attention ! input renvoie une chaine de caractère !

Question 6 - Définir une fonction qui prend une année en paramètre et qui renvoie Vrai si l'année est bissextile, Faux sinon. On donnera la docstring et la doctest de cette fonction.

>>> verifie(2000)
True
>>> verifie(2022)
False
>>> verifie(1900)
False

Fusion de module

Question 7 - Créer un module fusion.py.

Question 8 - Dans le module fusion, importer les modules de et bissextile. Utiliser les fonctions de ces modules pour définir la fonction avance qui a pour documentation :

def avance(dep, pas, arr):
    """
    Avance d'année en année selon le pas en paramètre et en partant de l'année de départ jusqu'à l'arriver et renvoie le nombre d'année bissextile rencontrée.

    :param dep: (int) l'année de départ
    :param pas: (int) le pas
    :param arr: (int) l'année d'arrivée
    :return: (int) le nombre d'année bissextile rencontrée

    Exemple:
    >>> avance(2020, 2, 2024)
    2
    >>> avance(2018, 4, 2024)
    0
    """

Quelques documentations

Dans un module arithmetique.py, on retrouve 3 fonctions :

  • expo qui prend en paramètres les entiers a, b et n et calcule le reste de la division par n de a puissance b ;
  • pgcd qui prend en paramètres les entiers a et b et renvoie le plus grand diviseur commun entre a et b ;
  • decomposition qui prend un entier positif n en paramètre et renvoie la liste de ses facteurs premiers ainsi que leur multiplicité.

Question 9 - Proposer des docstrings pour ces trois fonctions, il n'est pas demandé de donner le code des fonctions.

Question 10 - Ajouter la doctest de ces fonctions.


Auteurs : Florian Mathieu, Enzo Frémeaux, Thimothée Decooster

Licence CC BY NC

Licence Creative Commons
Ce cours est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas dUtilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.