Académique Documents
Professionnel Documents
Culture Documents
Exercices de programmation
Il est fortement conseillé de garder fenêtres Variables et Assistant dans Thonny-l1test.
Ce travail est à rendre impérativement dans un fichier fonctions.py.
Vous devez respecter la méthodologie vue en cours et notamment :
• utiliser des noms de fonctions et de paramètres qui ont du sens ;
• écrire une documentation pour la fonction, y compris des annotations de type dans la signature de la fonction
;
• écrire des tests exécutables avec l1test avant d’écrire le code de la fonction ;
• écrire un code qui respecte les bonnes pratiques de cette UE.
1 Répétition
1. Écrire une fonction repetition qui renvoie la chaîne de caractères obtenue en répétant n fois la chaîne de
caractères chaine. Par exemple :
>>> repetition('la', 3)
'lalala'
>>> repetition('go', 0)
''
3 En minutes !
Un jour est composé de 24 heures, une heure de 60 minutes.
5. Écrire une fonction heure2minute() de conversion d’heures en minutes. Cette fonction prend en paramètre
un nombre d’heures heures et renvoie sa conversion en minutes. Par exemple :
>>> heure2minute(2)
120
6. Écrire une fonction jour2heure() de conversion de jours en heures. Cette fonction prend en paramètre un
nombre de jours jours et renvoie sa conversion en heures. Par exemple :
PROG - TP - fonctions 2023-2024
Exercices de programmation
>>> jour2heure(3)
72
7. Proposez ensuite une fonction de conversion en minutes d’une durée exprimées en jours, heures et minutes.
Cette fonction en_minutes() acceptera donc trois paramètres dans cet ordre : un nombre de jours, un nombre
d’heures et un nombre de minutes.
Par exemple :
>>> en_minutes(0, 3, 0)
180
>>> en_minutes(0, 0, 2)
2
>>> en_minutes(1, 2, 3)
1563
On utilisera les fonctions précédemment définies.
4 Salutation
8. Écrire une fonction qui renvoie une chaîne de caractères formée par la concaténation :
• d’une salutation (par ex “Coucou”, “Bonjour”, “Bonsoir” etc)
• de la chaîne de caractères “je m’appelle”
• d’une chaîne représentant un prénom
• d’une chaîne représentant un nom
• du caractère “!” répété n fois avec des espaces entre les chaînes. On aura par exemple :
>>> salutation("Salut", "Camille", "DUPONT", 4)
"Salut je m'appelle Camille DUPONT !!!!"
5 Partage équitable
9. Écrire une fonction bonbons_par_enfant qui renvoie le nombre de bonbons par enfants, étant donné un
nombre de bonbons bonbons à partager de manière équitable entre un nombre d’enfants enfants donné. Par
exemple :
>>> bonbons_par_enfant(20, 3)
6
On rappelle la syntaxe d’une fonction qui renvoie un couple de valeurs entières :
def mafonction(x : int) -> tuple[int, int]:
''' ... '''
return (..., ...)
avec un appel du style :
res1, res2 = mafonction(x)
qui affecte à res1 le premier élément du couple renvoyé par mafonction et à res2 le second élément du couple
renvoyé.
10. Écrire une fonction partage_bonbons qui prend en paramètre un nombre de bonbons et un nombre d’enfants
et renvoie un couple contenant d’abord le nombre de bonbons par enfants puis le nombre de bonbons restants,
dans le cas d’un partage équitable. Par exemple :
>>> bonbons, reste = partage_bonbons(20, 3)
>>> bonbons
6
>>> reste
2