2022-2023/2nd/06_Programmation/5E_boucles_while.ipynb

2 lines
5.0 KiB
Plaintext

{"cells":[{"metadata":{},"cell_type":"markdown","source":"# Étape 5: boucle while\n\n`While` signifie `tant que` en anglais. Cette instruction va répéter **tant que** quelque chose est vrai.\n\n1. Exécuter puis décrire le programme suivant"},{"metadata":{"trusted":true},"cell_type":"code","source":"i = 0\n\nwhile i < 10:\n print(\"i vaut\", i, \". C'est plus petit que 10 je continue\")\n i = i + 1\n \nprint(\"i vaut \", i, \". C'est plus grand que 10. Je suis sorti de la boucle\")","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Description de ce que fait le programme"},{"metadata":{},"cell_type":"raw","source":""},{"metadata":{},"cell_type":"markdown","source":"2. Proposer un variante où l'on répète jusqu'à ce que `i` depasse 20 et où `i` augmente de 2 en 2."},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Dès que l'on veut faire quelque chose **jusqu'à ce que**, on utilisera un boucle `while`. \n\n3. Exécuter le programme et essayer de trouver mon mot de passe."},{"metadata":{"trusted":true},"cell_type":"code","source":"mdp = input(\"Quel est mon mot de passe?\")\nwhile mdp != \"les maths c bon\":\n mdp = input(\"Raté! Tu ne trouveras jamais. Quel est mon mot de passe?\")\nprint(\"Arf bien joué, tu l'as trouvé. J'ai plus qu'à le changer...\")","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"4. Écrire une programme qui pose la même question tant que la bonne réponse n'est pas trouvée (vous devez inventer la question et la réponse)."},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## 1- Jeux de devinette\n\nDans cette section, vous programmerez un jeu où l'utilisateur va chercher deviner un nombre choisi au hasard par l'ordinateur.\n\n1. *Programmation du coeur du jeu*: coder le programme suivant\n\n L'ordinateur choisi un nombre au hasard\n \n L'utilisateur propose une réponse\n Si la réponse est égale au nombre choisi par l'ordinateur\n L'utilisateur est félicité\n Sinon si la réponse est supérieur\n On affiche que sa réponse est trop grande\n Sinon\n on affiche que sa réponse est trop petite"},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"2. *Programmation de la boucle de jeu*: reprendre le programme précédent et faire répéter *jusqu'à ce que* l'utilisateur trouve la bonne réponse."},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"3. Quelques propositions d'améliorations\n\n - À la fin, on le nombre de réponses données par l'utilisateur pour trouver le nombre.\n - Limiter le nombre de réponses que l'utilisateur peut donner."},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## 2- Simulation aléatoire\n\nLa boucle `while` peut être utile pour simuler des phénomènes aléatoires et les arreter en fonction d'une condition."},{"metadata":{},"cell_type":"markdown","source":"1. Le jeu est le suivant: on part avec 10 points. À chaque tour, on peut perdre un point, gagner un point, ne rien perdre ni gagner. Le jeu s'arrête quand on a plus de points.\n\nLe programme suivra l'algorithme suivant\n\n Notre score est de 10 points\n Affiche le score\n Tant que notre score est positif\n Au hasard notre score gagne un point, perd un point ou rien ne se passe\n Affiche le score\n "},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"2. Adapter le programme précédent pour qu'il calcule puis affiche le nombre de tours avant que notre score arrive à 0."},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## 2- Investissement"},{"metadata":{},"cell_type":"markdown","source":"Une banque nous propose le placement suivant: on place 100€ et chaque année ce placement augmente de 2%. On veut savoir combien d'année il faudra attendre pour que ce placement atteigne 10 000€.\n\nProgrammer l'algorithme suivant pour répondre à cette question\n\n C'est l'année 0\n Le placement est de 100\n Tant que le placement est plus petit que 10000€\n le placement est augmenté de 2%\n l'année est augmentés de 1\n Affiche le nombre d'année"},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"display_name":"Python 3 (ipykernel)","language":"python","name":"python3"}},"nbformat":4,"nbformat_minor":2}