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 rappelle que la fonction randint du module random permet le renvoi d'une valeur pseudo-aléatoire.
Question 2 - Modifier la fonction de en lui donnant un nouveau paramètre n permettant de simuler un lancer à n faces.
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.
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
Ce cours est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.