{"id":5755,"date":"2024-08-29T04:52:26","date_gmt":"2024-08-29T04:52:26","guid":{"rendered":"https:\/\/wikiform.fr\/codespace\/tp1-exercices-pratiques-calculatrice-en-python\/"},"modified":"2024-08-29T04:52:29","modified_gmt":"2024-08-29T04:52:29","slug":"tp1-exercices-pratiques-calculatrice-en-python","status":"publish","type":"post","link":"https:\/\/wikiform.fr\/codespace\/tp1-exercices-pratiques-calculatrice-en-python\/","title":{"rendered":"2.17 TP1 : Exercices Pratiques Calculatrice en Python"},"content":{"rendered":"\u00ab\u00a0`html\n\n<p><strong>Exercices Pratiques Calculatrice en Python<\/strong> sont un excellent moyen de renforcer vos comp\u00e9tences en Python, en particulier avec des concepts fondamentaux comme les fonctions, les boucles et les conditions. Dans ce tutoriel, nous allons cr\u00e9er une calculatrice simple en Python et r\u00e9soudre des exercices pratiques pour mettre en \u0153uvre les connaissances acquises.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction aux <strong>Exercices Pratiques Calculatrice en Python<\/strong><\/h2>\n\n\n\n<div id=\"videoContainer\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; background: #000;\">\n  <iframe src=\"https:\/\/player.vimeo.com\/video\/583330754?dnt=1&#038;fullscreen=0&#038;pip=0\" loading=\"lazy\" loading=\"lazy\" style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%;\" frameborder=\"0\" allow=\"autoplay\" allowfullscreen id=\"vimeoPlayer\"><\/iframe>\n  \n  <!-- Popup Desktop -->\n  <div id=\"popupContainer\" class=\"desktop-popup\" style=\"display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 90%; max-width: 400px; padding: 20px; border-radius: 10px; text-align: center; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); background-color: rgba(255, 255, 255, 0.95); box-sizing: border-box;\">\n    <h2 style=\"color: #333; font-size: 1.5em; margin: 10px 0;\" id=\"profitez-de-loffre-spciale-\">Profitez de l\u2019offre sp\u00e9ciale !<\/h2>\n    <p style=\"color: #e74c3c; font-size: 1.2em; margin: 10px 0;\">Obtenez notre cours pour seulement <strong id=\"price\">29.5\u20ac<\/strong> au lieu de <del>59\u20ac<\/del> !<\/p>\n    <a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\" target=\"_blank\" style=\"display: block; padding: 10px 20px; background-color: #701CF5; color: #fff; text-decoration: none; border-radius: 5px; font-weight: bold; font-size: 1em; margin: 20px auto;\" rel=\"noopener\">Commencer maintenant<\/a>\n    <button onclick=\"closePopup()\" style=\"padding: 10px 20px; font-size: 1em;\">Fermer<\/button>\n  <\/div>\n\n  <!-- Popup Mobile -->\n  <div id=\"popupContainerMobile\" class=\"mobile-popup\" style=\"display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80%; max-width: 300px; padding: 15px; border-radius: 10px; text-align: center; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); background-color: rgba(255, 255, 255, 0.95); box-sizing: border-box;\">\n    <p style=\"color: #e74c3c; font-size: 1em; margin: 5px 0;\">Cours sp\u00e9cial \u00e0 <strong id=\"priceMobile\">29.5\u20ac<\/strong> au lieu de <del>59\u20ac<\/del> !<\/p>\n    <a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\" target=\"_blank\" style=\"display: inline-block; padding: 8px 15px; background-color: #701CF5; color: #fff; text-decoration: none; border-radius: 5px; font-weight: bold; font-size: 0.9em;\" rel=\"noopener\">Commencer maintenant<\/a>\n    <button onclick=\"closePopup()\" style=\"padding: 5px 10px; font-size: 0.9em;\">Fermer<\/button>\n  <\/div>\n<\/div>\n\n<script src=\"https:\/\/player.vimeo.com\/api\/player.js\"><\/script>\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n    var iframe = document.getElementById('vimeoPlayer');\n    var player = new Vimeo.Player(iframe);\n    var isPopupDisplayed = false;\n\n    player.on('play', function() {\n        if (!isPopupDisplayed) {\n            player.on('timeupdate', function(data) {\n                if (data.seconds >= 120 && !isPopupDisplayed) { \/\/ 120 seconds = 2 minutes\n                    \/\/ Pause the video and display the popup\n                    player.pause().then(function() {\n                        if (window.innerWidth > 768) {\n                            document.querySelector('.desktop-popup').style.display = 'block';\n                        } else {\n                            document.querySelector('.mobile-popup').style.display = 'block';\n                        }\n                        fetchPriceAndUpdatePopup();\n                        isPopupDisplayed = true;\n                    });\n                }\n            });\n        }\n    });\n\n    function fetchPriceAndUpdatePopup() {\n        fetch('https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144')\n            .then(response => response.text())\n            .then(html => {\n                var parser = new DOMParser();\n                var fetchedDoc = parser.parseFromString(html, 'text\/html');\n                var priceElement = fetchedDoc.querySelector('.ammount .fw-500');\n                var originalPriceElement = fetchedDoc.querySelector('.ammount del');\n                var price = priceElement ? priceElement.textContent.trim() : '29.5\u20ac';\n                var originalPrice = originalPriceElement ? originalPriceElement.textContent.trim() : '59\u20ac';\n\n                document.getElementById('price').textContent = price;\n                document.getElementById('priceMobile').textContent = price;\n                document.querySelector('.desktop-popup del').textContent = originalPrice;\n                document.querySelector('.mobile-popup del').textContent = originalPrice;\n            })\n            .catch(error => console.error('Error fetching the price:', error));\n    }\n\n    function closePopup() {\n        document.querySelector('.desktop-popup').style.display = 'none';\n        document.querySelector('.mobile-popup').style.display = 'none';\n        player.play(); \/\/ Allows resuming the video only after closing the popup\n    }\n});\n<\/script>\n\n\n\n<p>Dans ce tutoriel, nous allons nous concentrer sur la cr\u00e9ation d&rsquo;une calculatrice de base en Python. Cela implique des op\u00e9rations math\u00e9matiques fondamentales comme l&rsquo;addition, la soustraction, la multiplication et la division. Vous apprendrez \u00e9galement \u00e0 valider les entr\u00e9es de l&rsquo;utilisateur et \u00e0 g\u00e9rer les erreurs potentielles.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Cr\u00e9er une Fonction de Calcul Basique<\/h3>\n\n\n\n<p>Nous allons commencer par d\u00e9finir une fonction qui r\u00e9alisera les op\u00e9rations de base (addition, soustraction, multiplication et division). Cette fonction prendra deux nombres en entr\u00e9e ainsi qu&rsquo;un op\u00e9rateur et renverra le r\u00e9sultat.<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code>def calculer(a, b, operateur):\n    if operateur == \"+\":\n        return a + b\n    elif operateur == \"-\":\n        return a - b\n    elif operateur == \"*\":\n        return a * b\n    elif operateur == \"\/\":\n        return a \/ b\n    else:\n        return \"Op\u00e9rateur non valide\"\n\n# Exemple d'utilisation :\nresultat = calculer(10, 5, \"+\")\nprint(\"Le r\u00e9sultat est:\", resultat)\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2. Ajouter une Interface Utilisateur (UI) en Ligne de Commande<\/h3>\n\n\n\n<p>Pour rendre notre calculatrice interactive, nous allons ajouter une interface utilisateur simple en ligne de commande. L&rsquo;utilisateur pourra entrer les nombres et l&rsquo;op\u00e9rateur, et notre script affichera le r\u00e9sultat.<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code>def ui_calculatrice():\n    print(\"Bienvenue dans la Calculatrice Python\")\n    while True:\n        try:\n            a = float(input(\"Entrez le premier nombre : \"))\n            operateur = input(\"Entrez l'op\u00e9rateur (+, -, *, \/) : \")\n            b = float(input(\"Entrez le second nombre : \"))\n            resultat = calculer(a, b, operateur)\n            print(\"Le r\u00e9sultat est:\", resultat)\n        except ValueError:\n            print(\"Veuillez entrer des nombres valides.\")\n        except ZeroDivisionError:\n            print(\"Erreur: la division par z\u00e9ro n'est pas permise.\")\n        \n        continuer = input(\"Voulez-vous faire un autre calcul ? (oui\/non) : \")\n        if continuer.lower() != \"oui\":\n            break\n\nui_calculatrice()\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3. Exercices Pratiques de Calculatrice en Python<\/h3>\n\n\n\n<p>Pour mieux comprendre et maitriser la cr\u00e9ation de cette calculatrice, voici quelques exercices pratiques :<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Exercice 1 : Ajouter la fonctionnalit\u00e9 de puissance<\/h4>\n\n\n\n<p>Modifiez la fonction <code>calculer<\/code> pour inclure la puissance. Par exemple, <code>calculer(2, 3, '**')<\/code> doit retourner 8.<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code>def calculer(a, b, operateur):\n    if operateur == \"+\":\n        return a + b\n    elif operateur == \"-\":\n        return a - b\n    elif operateur == \"*\":\n        return a * b\n    elif operateur == \"\/\":\n        return a \/ b\n    elif operateur == \"**\":\n        return a ** b\n    else:\n        return \"Op\u00e9rateur non valide\"\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Exercice 2 : Ajoutez la gestion des racines carr\u00e9es<\/h4>\n\n\n\n<p>Permettez \u00e0 l&rsquo;utilisateur de calculer la racine carr\u00e9e d&rsquo;un nombre. Par exemple, <code>calculer(4, None, 'sqrt')<\/code> doit retourner 2.<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code>import math\n\ndef calculer(a, b, operateur):\n    if operateur == \"+\":\n        return a + b\n    elif operateur == \"-\":\n        return a - b\n    elif operateur == \"*\":\n        return a * b\n    elif operateur == \"\/\":\n        return a \/ b\n    elif operateur == \"**\":\n        return a ** b\n    elif operateur == \"sqrt\":\n        return math.sqrt(a)\n    else:\n        return \"Op\u00e9rateur non valide\"\n\n# Interface mise \u00e0 jour pour g\u00e9rer la racine carr\u00e9e\ndef ui_calculatrice():\n    print(\"Bienvenue dans la Calculatrice Python\")\n    while True:\n        try:\n            operateur = input(\"Entrez l'op\u00e9rateur (+, -, *, \/, **, sqrt) : \")\n            a = float(input(\"Entrez le premier nombre : \"))\n            if operateur != \"sqrt\":\n                b = float(input(\"Entrez le second nombre : \"))\n            else:\n                b = None\n            resultat = calculer(a, b, operateur)\n            print(\"Le r\u00e9sultat est:\", resultat)\n        except ValueError:\n            print(\"Veuillez entrer des nombres valides.\")\n        except ZeroDivisionError:\n            print(\"Erreur: la division par z\u00e9ro n'est pas permise.\")\n        \n        continuer = input(\"Voulez-vous faire un autre calcul ? (oui\/non) : \")\n        if continuer.lower() != \"oui\":\n            break\n\nui_calculatrice()\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Exercice 3 : Historique des Calculs<\/h4>\n\n\n\n<p>Ajoutez une fonctionnalit\u00e9 qui permettra \u00e0 l&rsquo;utilisateur de voir l&rsquo;historique des calculs effectu\u00e9s pendant la session. Vous pouvez stocker chaque calcul dans une liste et la montrer lorsque l&rsquo;utilisateur le demande.<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code>def ui_calculatrice():\n    print(\"Bienvenue dans la Calculatrice Python\")\n    historique = []\n    while True:\n        try:\n            operateur = input(\"Entrez l'op\u00e9rateur (+, -, *, \/, **, sqrt) : \")\n            a = float(input(\"Entrez le premier nombre : \"))\n            if operateur != \"sqrt\":\n                b = float(input(\"Entrez le second nombre : \"))\n            else:\n                b = None\n            resultat = calculer(a, b, operateur)\n            historique.append(f\"{a} {operateur} {b if b is not None else ''} = {resultat}\")\n            print(\"Le r\u00e9sultat est:\", resultat)\n        except ValueError:\n            print(\"Veuillez entrer des nombres valides.\")\n        except ZeroDivisionError:\n            print(\"Erreur: la division par z\u00e9ro n'est pas permise.\")\n        \n        voir_historique = input(\"Voulez-vous voir l'historique des calculs ? (oui\/non) : \")\n        if voir_historique.lower() == \"oui\":\n            for calc in historique:\n                print(calc)\n        \n        continuer = input(\"Voulez-vous faire un autre calcul ? (oui\/non) : \")\n        if continuer.lower() != \"oui\":\n            break\n\nui_calculatrice()\n<\/code><\/pre>\n\n\n\n<p>En poursuivant ces exercices, vous pouvez renforcer vos comp\u00e9tences en Python et cr\u00e9er des applications plus complexes. Vous pouvez \u00e9galement pratiquer avec d&rsquo;autres exercices pour am\u00e9liorer vos comp\u00e9tences. Par exemple, consultez notre article sur <a href=\"https:\/\/wikiform.fr\/codespace\/premier-programme-python-hello-world\">premier programme Python: Hello World<\/a> pour en apprendre plus sur la cr\u00e9ation de votre premier script Python.<\/p>\n<p>Pour des tutoriels suppl\u00e9mentaires sur l&rsquo;utilisation des op\u00e9rateurs math\u00e9matiques et des types en Python, visitez nos articles sur <a href=\"https:\/\/wikiform.fr\/codespace\/utiliser-les-operateurs-mathematiques-en-python\">utiliser les op\u00e9rateurs math\u00e9matiques en Python<\/a> et <a href=\"https:\/\/wikiform.fr\/codespace\/conversion-de-types-en-python-avec-cast\">conversion de types en Python avec cast<\/a>.<\/p>\n<p>Pour apprendre \u00e0 cr\u00e9er des fonctions plus avanc\u00e9es en Python, consultez notre guide complet sur <a href=\"https:\/\/wikiform.fr\/codespace\/introduction-aux-fonctions-en-python\">introduction aux fonctions en Python<\/a> et <a href=\"https:\/\/wikiform.fr\/codespace\/utilisation-de-elif-en-python-guide-pratique\">utilisation de elif en Python<\/a>. D&rsquo;autres articles qui pourraient vous int\u00e9resser incluent les <a href=\"https:\/\/wikiform.fr\/codespace\/structures-de-donnees-listes-en-python\">structures de donn\u00e9es: listes en Python<\/a> et <a href=\"https:\/\/wikiform.fr\/codespace\/gerer-erreurs-et-exceptions-en-python\">g\u00e9rer les erreurs et exceptions en Python<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion sur les Exercices Pratiques Calculatrice Python<\/h2>\n\n\n\n<p>R\u00e9aliser des exercices pratiques de calculatrice en Python est une excellente fa\u00e7on de consolider vos comp\u00e9tences en programmation. En utilisant des concepts fondamentaux tels que les fonctions, les boucles et la gestion des erreurs, vous pouvez d\u00e9velopper des applications interactives et utiles. Continuez \u00e0 pratiquer et explorer, et bient\u00f4t vous serez capable de cr\u00e9er des projets encore plus ambitieux ! Pour plus de tutoriels et de guidances, consultez nos autres articles et cours sur Python. D\u00e9couvrez notre article sur <a href=\"https:\/\/wikiform.fr\/codespace\/utilisation-des-docstrings-en-python-guide\">l&rsquo;utilisation des docstrings en Python<\/a> pour plus de ressources sur la documentation des fonctions.<\/p>\n\n\n\n<a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/wikiform.fr\/codespace\/wp-content\/uploads\/2024\/07\/learnify-formation-PYTHON-offre-50.gif\" loading=\"lazy\" alt=\"Learnify Formation Python Offre 50%\" title=\"\"><\/a>\n\n\u00ab\u00a0`","protected":false},"excerpt":{"rendered":"<p>\u00ab\u00a0`html Exercices Pratiques Calculatrice en Python sont un excellent moyen de renforcer vos comp\u00e9tences en Python, en particulier avec des concepts fondamentaux comme les fonctions,&#8230;<\/p>\n","protected":false},"author":4,"featured_media":2964,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[24],"tags":[18],"class_list":["post-5755","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-tutoriels"],"acf":[],"_titre_de_la_formation":null,"_description_":null,"_objectifs_pedagogiques":null,"_programme_":null,"_url_de_limage":null,"_materiel_necessaire":null,"_modalites_devaluation_des_acquis":null,"_moyens_pedagogiques_et_techniques":null,"_accessibilite_":null,"_formateur_":null,"menu_order":0,"_links":{"self":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/5755","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/comments?post=5755"}],"version-history":[{"count":1,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/5755\/revisions"}],"predecessor-version":[{"id":5756,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/5755\/revisions\/5756"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/media\/2964"}],"wp:attachment":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/media?parent=5755"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/categories?post=5755"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/tags?post=5755"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}