Exercices
Exercice 1
Écrire une fonction maxi qui prend comme paramètres deux nombres n1 et n2 de type entier et qui renvoie le plus grand élément entre n1 et n2. La fonction doit comporter une docstring et les annotations de typage.
Exemple d'utilisation
>>> maxi(3,1)
3
Vous pouvez utiliser la fonction de tests ci-dessous :
| 🐍 Script Python | |
|---|---|
1 2 3 4 5 | |
| 🐍 Script Python | |
|---|---|
1 2 3 4 5 6 | |
Exercice 2
Écrire une fonction moyenne qui prend en paramètre trois nombres a, b et c et qui renvoie la moyenne de ces trois nombres.
Exemple d'utilisation
>>> moyenne(6, 15, 9)
10
| 🐍 Script Python | |
|---|---|
1 2 | |
Exercice 3
Écrire une fonction somme qui prend en paramètre un entier positif n et qui renvoie la somme de tous les entier de 1 à n.
\(S = 1+2+3+4+5+ \dots +(n-1) + n\)
Exemple d'utilisation
>>> somme(10)
55
| 🐍 Script Python | |
|---|---|
1 2 3 4 5 | |
Exercice 4
Écrire une fonction nb_voyelles qui prend un paramètre la chaine de caractères mot renvoie le nombre de voyelles de mot.
Exemple d'utilisation
>>> nb_voyelles("bonjour")
3
Vous pouvez utiliser la fonction de tests ci-dessous :
| 🐍 Script Python | |
|---|---|
1 2 3 4 5 | |
| 🐍 Script Python | |
|---|---|
1 2 3 4 5 6 7 | |
Exercice 5
Définissez une fonction decale(lettre) qui décale de 3 rangs dans l'alphabet la lettre majuscule lettre passée en argument (après Z, on recommencera à A..)
Aide
>>> ord('A')
65
>>> chr(65)
'A'
Exemple d'utilisation
>>> decale('F')
'I'
Vous pouvez utiliser la fonction de tests ci-dessous :
| 🐍 Script Python | |
|---|---|
1 2 3 4 | |
| 🐍 Script Python | |
|---|---|
1 2 3 4 5 6 7 8 | |
% :
| 🐍 Script Python | |
|---|---|
1 2 3 4 5 6 | |
Exercice 6
Rajoutez un paramètre n à la fonction précédente pour pouvoir décaler la lettre de n rangs.
Exemple d'utilisation
>>> decale('B', 5)
'G'
Vous pouvez utiliser la fonction de tests ci-dessous :
| 🐍 Script Python | |
|---|---|
1 2 3 4 5 | |
Aide (canevas du code à compléter) à ne regarder qu'en cas de blocage
| 🐍 Script Python | |
|---|---|
1 2 3 4 5 | |
| 🐍 Script Python | |
|---|---|
1 2 3 4 5 6 7 8 | |
Exercice 7
Utilisez la fonction précédente pour créer la fonction decale_phrase(p, n) qui décale toutes les lettres d'une phrase p de n rangs. On laissera les espaces intacts.
Exemple d'utilisation
>>> decale_phrase("PAS MAL DU TOUT", 4)
'TEW QEP HY XSYX'
Vous pouvez utiliser la fonction de tests ci-dessous :
| 🐍 Script Python | |
|---|---|
1 2 3 | |
Aide (canevas du code à compléter) à ne regarder qu'en cas de blocage
| 🐍 Script Python | |
|---|---|
1 2 3 4 5 6 7 8 9 | |
| 🐍 Script Python | |
|---|---|
1 2 3 4 5 6 7 8 9 | |
Exercice 8
Décodez la phrase RT BTHHPVT CT RDCIXTCI GXTC S XCITGTHHPCI.
| 🐍 Script Python | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | |
Exercice 9
La conjecture de Syracuse (ou de Collatz) postule ceci :
Prenons un nombre \(n\) : si \(n\) est pair, on le divise par 2, sinon on le multiplie par 3 puis on ajoute 1. On recommence cette opération tant que possible. Au bout d'un certain temps, on finira toujours par tomber sur le nombre 1.
- Écrire une fonction
suivant(n)qui renvoie le successeur du nombren, suivant les règles énoncées ci-dessus. - Écrire une fonction
syracuse(n)qui affiche tous les termes de la suite de Syracuse jusqu'à (on l'espère !) 1.
1.
| 🐍 Script Python | |
|---|---|
1 2 3 4 5 | |
| 🐍 Script Python | |
|---|---|
1 2 3 4 5 | |
Exercice 10
- Pour la conjoncture de Syracuse, écrire une fonction
temps_de_vol(n)qui renvoie le nombre d'étapes pour arriver à 1, en partant den - Écrire une fonction
temps_max(nmax)qui affiche le plus grand temps de vol pour un nombre entre 1 etnmax. - Modifier cette fonction pour affiche aussi le nombre de départ donnant ce plus grand temps de vol.
1.
| 🐍 Script Python | |
|---|---|
1 2 3 4 5 6 | |
| 🐍 Script Python | |
|---|---|
1 2 3 4 5 6 7 | |
| 🐍 Script Python | |
|---|---|
1 2 3 4 5 6 7 8 | |