Feuille 1 : Les boucles for et while
Exercice 1 : Somme des entiers de 1 à n
On souhaite disposer d’une fonction qui prend un nombre entier en paramètre et renvoie la somme des nombres de 1 à ce nombre.
1) Écrire le code de la fonction (avec docstring) en utilisant une boucle while.
2) Écrire le code de la fonction (avec docstring) en utilisant une boucle for et range.
Exercice 2 : Jeu du plus-moins
Écrire un programme qui :
- - choisit un nombre entre 1 et 99 au hasard
- - demande à l’utilisateur de trouver ce nombre en lui indiquant, à chaque tour, si sa proposition est trop petite ou trop grande.
Exercice 3 : Fonction mystère
On considère la fonction suivante :def mystere(nombre: int) -> int:
while nombre >= 5:
nombre = nombre - 5
return nombre
1) Quelle valeur va renvoyer mystere(12) ?
2) A quel opération en python cette fonction est-elle équivalente ?
Exercice 4 : De 0,5 en 0,5
En utilisant une boucle while, écrie la fonction aff_demi(n) qui prend un nombre entier en paramètre et affiche les nombres de 0 à n par pas de 0,5.
Exemple :
>>> aff_demi(3) 0 0.5 1 1.5 2 2.5 3
Exercice 5 (*) : Les tables de multiplications
1) Écrire une fonction qui prend un nombre entier entre 2 et 10 en paramètre et affiche la table de multiplication de ce nombre
Ainsi, avec un paramaètre de valeur 2, la fonction va afficher :
2 × 1 = 2 2 × 2 = 4 ... 2 × 9 = 18 2 × 10 = 20
2) Écrire une fonction qui affiche l'ensemble des tables de multiplication de 2 à 10. On pourra utiliser la fonction du 1).
Exercice 6 (*) : Petit robot
On dispose d’un robot que l’on peut faire se déplacer d’une case dans les différentes directions avec les fonctions gauche(), droite(), haut(), bas().
Le robot est initialement situé sur la case en bas à gauche [R].
1) Écrire le code qui permet au robot de se déplacer jusqu’à la case grise pour le parcours n° 1. On utilisera le moins de fois possible les fonctions gauche(), droite(), haut(), bas() au bénéfice des boucles.
2) Même question pour le parcours n° 2.
Exercice 7 (**) : Château de cartes

Robert décide de construire des châteaux de cartes sur le modèle du schéma ci-contre.
PARTIE A
1) Combien de cartes lui faut-il pour construire un château de 1 étage ? de 2 étages ? de 5 étages ?
2) Robert s’aperçoit que le nombre de cartes d’un étage est égale au nombre de cartes de l’étage du dessus auquel on ajoute 3.
2.a) Proposer une méthode pour comptabiliser le nombre de cartes nécessaire pour construire un château de n étages.
2.b) Écrire une fonction (avec docstring) qui prend un nombre entier positif n en paramètre et renvoie le nombre de cartes nécessaire à la construction d’un château de n étages.
PARTIE B
Dans cette partie, on pourra utiliser la fonction de la partie A.
Robert souhaite connaitre, à partir d’un nombre de cartes donné, le plus grand nombre d’étages du château qu’il va pouvoir construire.
1) Un château de combien d’étages peut-il construire avec 10 cartes ? Avec 30 cartes ?
2) Écrire une fonction (avec docstring) qui prend un nombre nb_carte en paramètre et renvoie le plus grand nombre d’étages envisageable pour le château avec ces cartes.