{"id":16942,"date":"2026-01-29T04:00:16","date_gmt":"2026-01-29T03:00:16","guid":{"rendered":"https:\/\/liora.io\/?p=16942"},"modified":"2026-01-29T04:00:21","modified_gmt":"2026-01-29T03:00:21","slug":"programmer-python-fonctions-operateurs-boucles","status":"publish","type":"post","link":"https:\/\/liora.io\/programmer-python-fonctions-operateurs-boucles","title":{"rendered":"La programmation Python pour les nuls- Episode 2"},"content":{"rendered":"<p><strong><b>Table mati\u00e8res:<\/b><\/strong><\/p><ol><li><span style=\"color: #000000;\"><a style=\"color: #000000;\" href=\"https:\/\/liora.io\/programmer-en-python\"><span style=\"text-decoration: underline;\">Episode 1 <\/span><\/a>&#8211; <span style=\"text-decoration: underline;\"><a style=\"color: #000000; text-decoration: underline;\" href=\"https:\/\/liora.io\/programmer-en-python#introductionpython\" target=\"_blank\" rel=\"noopener\">Introduction <\/a><\/span>&#8211;<span style=\"text-decoration: underline;\"><a style=\"color: #000000; text-decoration: underline;\" href=\"https:\/\/liora.io\/programmer-en-python#variables\" target=\"_blank\" rel=\"noopener\">Variables<\/a><\/span>&#8211;<span style=\"text-decoration: underline;\"><a style=\"color: #000000; text-decoration: underline;\" href=\"https:\/\/liora.io\/programmer-en-python#types\" target=\"_blank\" rel=\"noopener\">Types<\/a><\/span><\/span><\/li><li><span style=\"color: #000000;\"><a style=\"color: #000000;\" href=\"https:\/\/liora.io\/programmation-python-fonctions-operateurs-boucles\" target=\"_blank\" rel=\"noopener\"><span style=\"text-decoration: underline;\">Episode 2<\/span><\/a><\/span><ol><li><span style=\"color: #6e4ceb;\"><a style=\"color: #6e4ceb;\" href=\"\/#operateurs\">Op\u00e9rateurs<\/a><\/span><\/li><li><span style=\"color: #6e4ceb;\"><a style=\"color: #6e4ceb;\" href=\"\/#boucles\">Boucles<\/a><\/span><\/li><li><span style=\"color: #6e4ceb;\"><a style=\"color: #6e4ceb;\" href=\"\/#fonctions\">Fonctions<\/a><\/span><\/li><\/ol><\/li><li><span style=\"color: #000000;\"><span style=\"text-decoration: underline;\"><a style=\"color: #000000;\" href=\"https:\/\/liora.io\/data-cleaning\" target=\"_blank\" rel=\"noopener\">Episode 3<\/a> <\/span>&#8211;<span style=\"text-decoration: underline;\"><a style=\"color: #000000;\" href=\"https:\/\/liora.io\/data-cleaning#importdesdonnees\" target=\"_blank\" rel=\"noopener\"> Import des donn\u00e9es<\/a><\/span> &#8211;<span style=\"text-decoration: underline;\"><a style=\"color: #000000;\" href=\"https:\/\/liora.io\/data-cleaning#datacleaning\" target=\"_blank\" rel=\"noopener\">Data cleaning<\/a> <\/span>&#8211;<span style=\"text-decoration: underline;\"> <a style=\"color: #000000;\" href=\"https:\/\/liora.io\/data-cleaning#dataprocessing\" target=\"_blank\" rel=\"noopener\">Data processing<\/a><\/span><\/span><\/li><li><a href=\"https:\/\/liora.io\/exemple-programme-python\"><span style=\"text-decoration: underline; color: #000000;\">Episode 4<\/span><\/a> &#8211;&nbsp;<span style=\"color: #000000;\"><a style=\"color: #000000;\" href=\"https:\/\/liora.io\/exemple-programme-python#bibliothequepython\"><span style=\"text-decoration: underline;\">Import des biblioth\u00e8ques Python<\/span> &#8211;<\/a><span style=\"text-decoration: underline;\"><a style=\"color: #000000; text-decoration: underline;\" href=\"https:\/\/liora.io\/exemple-programme-python#donneespython\">Import des donn\u00e9es<\/a><\/span> &#8211;<a style=\"color: #000000;\" href=\"https:\/\/liora.io\/exemple-programme-python#valeursmanquantes\"><span style=\"text-decoration: underline;\">Gestion des valeurs manquantes<\/span>&nbsp;<\/a><\/span><\/li><li><span style=\"text-decoration: underline;\"><span style=\"color: #000000;\"><a style=\"color: #000000; text-decoration: underline;\" href=\"https:\/\/liora.io\/la-programmation-python-pour-les-nuls-episode-4#cheatsheet\">Cheat Sheet Python<\/a><\/span><\/span><\/li><\/ol><h2 class=\"wp-block-heading \" id=\"bienvenue-dans-le-deuxieme-episode-dans-notre-dossier-dintroduction-a-la-programmation-sur-python-vous-avez-vu-dans-lepisode-precedent-lutilite-de-maitriser-ce-langage\">Bienvenue dans le deuxi&egrave;me &eacute;pisode dans notre dossier d&rsquo;introduction &agrave; la programmation sur Python. Vous avez vu dans l&rsquo;&eacute;pisode pr&eacute;c&eacute;dent&nbsp;l&rsquo;utilit&eacute; de ma&icirc;triser ce langage et comment d&eacute;marrer avec les diff&eacute;rents types de variables. Dans ce volet, vous allez d&eacute;couvrir les diff&eacute;rents op&eacute;rateurs sur Python ainsi que le fonctionnement des boucles et diff&eacute;rentes fonctions utiles sur Python.\n\nCommen&ccedil;ons sans plus tarder :&nbsp;<\/h2>\n<h2 class=\"wp-block-heading \" id=\"operateurs-arithmetiques\">Op&eacute;rateurs arithm&eacute;tiques:<\/h2>\n<p><span style=\"font-weight: 400;\">Un shell Python peut remplacer votre calculatrice de poche, avec les op\u00e9rations arithm\u00e9tiques de base impl\u00e9ment\u00e9es nativement:<\/span><\/p><ul><li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">+ pour l&rsquo;addition<\/span><\/li><li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">&#8211; pour la soustraction<\/span><\/li><li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">* pour la multiplication<\/span><\/li><li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\/ pour la division<\/span><\/li><li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">% pour le modulo (renvoie le reste de la division)<\/span><\/li><li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">**pour la puissance<\/span><\/li><\/ul><p><span style=\"font-weight: 400;\">Ces op\u00e9rations peuvent \u00eatre effectu\u00e9es sur des nombres, mais \u00e9galement sur d&rsquo;autres types de variables<\/span><\/p><script src=\"https:\/\/gist.github.com\/gtordjma\/0cd942338280efb1e66f3a1c0abbc96d.js\"><\/script><h2 class=\"wp-block-heading \" id=\"tests-instructions-conditionnelles\">Tests (Instructions conditionnelles)<\/h2>\n<p><span style=\"font-weight: 400;\">L\u2019instruction if est la structure de test la plus simple. Sa syntaxe en Python fait intervenir la notion de bloc. Nous allons d\u2019abord \u00e9tudier cette notion.<\/span><\/p><h2 class=\"wp-block-heading \" id=\"bloc-dinstructions-indentation\">Bloc d&rsquo;instructions &#8211; Indentation<\/h2>\n<p><span style=\"font-weight: 400;\">Pour indiquer un bloc de code en Python, vous devez indenter (\u00e0 l&rsquo;aide de tabulation) chaque ligne du bloc du m\u00eame montant.<\/span><\/p><h2 class=\"wp-block-heading \" id=\"instruction-if\">Instruction if:<\/h2>\n<p><span style=\"font-weight: 400;\">La syntaxe de l&rsquo;instruction est la suivante:<\/span><\/p><script src=\"https:\/\/gist.github.com\/gtordjma\/1c084bd0d505d5bee172428d46b39480.js\"><\/script><p><i><span style=\"font-weight: 400;\">condition<\/span><\/i><span style=\"font-weight: 400;\"> est une expression bool\u00e9enne, c\u2019est-\u00e0-dire une expression qui prend pour valeur True (Vrai) ou False (Faux).<\/span><\/p><p><span style=\"font-weight: 400;\">En voici un exemple:<\/span><\/p><script src=\"https:\/\/gist.github.com\/gtordjma\/028390eefbae0f5e34ea1bf7f2fbc770.js\"><\/script><h2 class=\"wp-block-heading \" id=\"operateurs-de-comparaison\">Op&eacute;rateurs de comparaison:<\/h2>\n<p><span style=\"font-weight: 400;\">Ce tableau r\u00e9sume les op\u00e9rations de comparaison qui peuvent \u00eatre utilis\u00e9es dans les conditions:<\/span><\/p><h2 class=\"wp-block-heading \" id=\"les-boucles\">Les boucles :<\/h2>\n<p><span style=\"font-weight: 400;\">En programmation, nous avons souvent besoin de r\u00e9p\u00e9ter une suite d\u2019instructions un certain nombre de fois et selon une ou plusieurs conditions.<\/span><\/p><p><span style=\"font-weight: 400;\">Les boucles vont alors nous permettre de r\u00e9aliser cette t\u00e2che de fa\u00e7on simple et efficace.<\/span><\/p><h2 class=\"wp-block-heading \" id=\"boucles-while\">Boucles while :<\/h2>\n<p><span style=\"font-weight: 400;\">Le principe est simple. Une boucle <\/span><span style=\"font-weight: 400;\">while<\/span><span style=\"font-weight: 400;\"> ex\u00e9cute une s\u00e9rie d\u2019instructions tant qu\u2019une condition est v\u00e9rifi\u00e9e . Pour fonctionner, elle n\u00e9cessite en g\u00e9n\u00e9ral trois \u00e9tapes qui sont :&nbsp;<\/span><\/p><ol><li><span style=\"font-weight: 400;\">L\u2019initialisation d\u2019une variable d\u2019it\u00e9ration.(i)<\/span><\/li><li><span style=\"font-weight: 400;\">Le test de la variable d&rsquo;it\u00e9ration.(i&lt;3)<\/span><\/li><li><span style=\"font-weight: 400;\">La mise \u00e0 jour de la variable d&rsquo;it\u00e9ration. (i=i+1)<\/span><\/li><\/ol><script src=\"https:\/\/gist.github.com\/YOHANCOHENCODES\/4ad8b1b336f4adbd55d2f9e825072019.js\"><\/script><h2 class=\"wp-block-heading \" id=\"boucles-for\">Boucles for :<\/h2>\n<p><span style=\"font-weight: 400;\">La boucle <\/span><b>for<\/b><span style=\"font-weight: 400;\"> permet \u00e9galement de r\u00e9p\u00e9ter un bloc d&rsquo;instructions. Elle est g\u00e9n\u00e9ralement utilis\u00e9e pour it\u00e9rer sur une <\/span><b>s\u00e9quence<\/b><span style=\"font-weight: 400;\"> pr\u00e9d\u00e9finie de valeurs. Les s\u00e9quences sont souvent de type range, list ou tuple, mais peuvent aussi \u00eatre des cha\u00eenes de caract\u00e8res :<\/span><\/p><script src=\"https:\/\/gist.github.com\/YOHANCOHENCODES\/4fe24569d62249f99937579bafa682e4.js\"><\/script><p><span style=\"font-weight: 400;\">Le <\/span><b>in<\/b><span style=\"font-weight: 400;\"> est indispensable \u00e0 l&rsquo;utilisation de la boucle, c&rsquo;est lui qui permet de parcourir la s\u00e9quence.<\/span><\/p><p><span style=\"font-weight: 400;\">Lorsque la boucle est ex\u00e9cut\u00e9e, i contient le premier \u00e9l\u00e9ment de L, et le bloc d&rsquo;instruction est ex\u00e9cut\u00e9. Puis i contient le second \u00e9l\u00e9ment de L, et ainsi de suite jusqu&rsquo;au dernier \u00e9l\u00e9ment de la liste.<\/span><\/p><p><span style=\"font-weight: 400;\">Pour ces deux types de boucles, il se peut que ayez besoin d\u2019en sortir avant avant qu\u2019elles ne se finissent. Pour cela, on utilise l\u2019instruction <\/span><b>break.<\/b><\/p><p><span style=\"font-weight: 400;\">Dans cet exemple, si le mot de passe entr\u00e9 est diff\u00e9rent de \u20180000\u2019 plus de trois fois, la boucle nous affiche \u2018R\u00e9essayez plus tard\u2019 et&nbsp; l\u2019instruction break nous sort de celle-ci imm\u00e9diatement.<\/span><\/p><script src=\"https:\/\/gist.github.com\/YOHANCOHENCODES\/311392c23484845073e80da54424c6a3.js\"><\/script><p><span style=\"font-weight: 400;\">Dans le m\u00eame registre que l&rsquo;instruction <\/span><b>break<\/b><span style=\"font-weight: 400;\">, <\/span><b>continue<\/b><span style=\"font-weight: 400;\"> est aussi une instruction \u00e0 l&rsquo;int\u00e9rieur de la boucle permettant cette fois-ci de ne passer outre une it\u00e9ration de la boucle.<\/span><\/p><p><span style=\"font-weight: 400;\">Dans l\u2019exemple suivant, la boucle for parcourant la liste a passera par la valeure 0. Mais le calcul de 1\/0 n\u2019\u00e9tant pas possible, l&rsquo;instruction continue ne prendra pas en compte cette valeur et passera \u00e0 la suivante.<\/span><\/p><script src=\"https:\/\/gist.github.com\/YOHANCOHENCODES\/eb1a81f139bb330e4643d08c5ea5c551.js\"><\/script><h2 class=\"wp-block-heading \" id=\"les-fonctions\">Les fonctions:<\/h2>\n<p><span style=\"font-weight: 400;\">Comme en math\u00e9matiques, les <\/span><b>fonctions<\/b><span style=\"font-weight: 400;\"> permettent de regrouper une suite d&rsquo;instructions r\u00e9utilisable, ce qui \u00e9vite de recopier plusieurs fois le m\u00eame code dans un programme.<\/span><\/p><p><span style=\"font-weight: 400;\">De plus, les fonctions sont param\u00e9trables et peuvent retourner un ou plusieurs r\u00e9sultats ce qui permet d&rsquo;\u00e9largir le champs des possibilit\u00e9s. Dans certains cas, elles peuvent aussi ne rien retourner.<\/span><\/p><p><span style=\"font-weight: 400;\">Lors de l&rsquo;appel d&rsquo;une fonction, il est n\u00e9cessaire de lui sp\u00e9cifier <\/span><b>la valeur<\/b><span style=\"font-weight: 400;\"> des param\u00e8tres \u00e0 utiliser lors de l&rsquo;ex\u00e9cution (entre parenth\u00e8ses, apr\u00e8s le nom de la fonction). Cela n&rsquo;est pas obligatoire pour un param\u00e8tre ayant une&nbsp; \u00ab\u00a0valeur par d\u00e9faut\u00a0\u00bb, qui prendra dans ce cas une valeur par d\u00e9faut. Pour sp\u00e9cifier \u00e0 un param\u00e8tre de ne pas prendre sa valeur par d\u00e9faut, il suffit de lui pr\u00e9ciser la valeur \u00e0 utiliser.<\/span><\/p><p><span style=\"font-weight: 400;\">Pour d\u00e9finir et appeller une fonction, on utilise la syntaxe suivante :<\/span><\/p><script src=\"https:\/\/gist.github.com\/YOHANCOHENCODES\/12511494fc21e9bfff5ae9de7883e1e9.js\"><\/script><p><span style=\"font-weight: 400;\">Par exemple, l\u2019appel de la&nbsp; fonction suivante permettra de retourner le carr\u00e9 d\u2019un nombre s\u2019il est positif et 0 sinon.<\/span><\/p><script src=\"https:\/\/gist.github.com\/YOHANCOHENCODES\/f8100befa96d571ce2d4bb6569a6bc5d.js\"><\/script><h2 class=\"wp-block-heading \" id=\"variables-global-dans-une-fonction\">Variables global dans une fonction :<\/h2>\n<p><span style=\"font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-size: var( --e-global-typography-text-font-size );\">Une variable d\u00e9finis en dehors d\u2019une fonction peut tout \u00e0 fait \u00eatre r\u00e9utilis\u00e9 \u00e0 l&rsquo;int\u00e9rieure de cette fonction. Cependant, si une modification est faite sur cette variable dans la fonction, elle ne durera que le temps de l\u2019appel de la fonction:&nbsp;<\/span><\/p><script src=\"https:\/\/gist.github.com\/YOHANCOHENCODES\/65a911a5f5cdbde5998111312003179e.js\"><\/script><p><span style=\"font-weight: 400;\">Il est alors possible de modifier la variable dans la fonction si cette elle d\u00e9clar\u00e9e comme variable globale dans la fonction: <\/span><\/p><script src=\"https:\/\/gist.github.com\/YOHANCOHENCODES\/286b693f6aeb80a92d39e333c4ccf410.js\"><\/script><h2 class=\"wp-block-heading \" id=\"recursivite\">R&eacute;cursivit&eacute;<\/h2>\n<p><span style=\"font-weight: 400;\">Python permet \u00e9galement la <\/span><b>r\u00e9cursivit\u00e9<\/b><span style=\"font-weight: 400;\">. La r\u00e9cursivit\u00e9 est la propri\u00e9t\u00e9 pour une fonction de se d\u00e9finir en s&rsquo;appelant elle-m\u00eame.<\/span><\/p><p><span style=\"font-weight: 400;\">Il est indispensable de mettre une \u00ab\u00a0condition d&rsquo;arr\u00eat\u00a0\u00bb afin que l&rsquo;appel \u00e0 une fonction ne g\u00e9n\u00e8re pas une infinit\u00e9 d&rsquo;appels (et donc un arr\u00eat de votre programme).<\/span><\/p><script src=\"https:\/\/gist.github.com\/YOHANCOHENCODES\/a50ecfc54dc2e9d000e2ec66d5583596.js\"><\/script><p><b>Bravo \u00e0 vous<\/b> d\u2019avoir suivi jusqu\u2019\u00e0 pr\u00e9sent cette<b> introduction \u00e0 Python<\/b>.&nbsp;<\/p><p>Encore un peu d\u2019effort d\u2019ici 2 semaines vous saurez r\u00e9aliser un cas d\u2019application de Data Science. On se retrouve la semaine prochaine afin de se pencher sur le <b>chargement d\u2019un jeu de donn\u00e9es et le cleaning <\/b>de celle-ci.<\/p>","protected":false},"excerpt":{"rendered":"<p>Table mati\u00e8res:<\/p>\n","protected":false},"author":1,"featured_media":18713,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2511],"class_list":["post-16942","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-dev"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/wp-json\/wp\/v2\/posts\/16942","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/wp-json\/wp\/v2\/comments?post=16942"}],"version-history":[{"count":2,"href":"https:\/\/liora.io\/wp-json\/wp\/v2\/posts\/16942\/revisions"}],"predecessor-version":[{"id":313490,"href":"https:\/\/liora.io\/wp-json\/wp\/v2\/posts\/16942\/revisions\/313490"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/wp-json\/wp\/v2\/media\/18713"}],"wp:attachment":[{"href":"https:\/\/liora.io\/wp-json\/wp\/v2\/media?parent=16942"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/wp-json\/wp\/v2\/categories?post=16942"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}