{"id":228,"date":"2010-07-22T01:52:55","date_gmt":"2010-07-21T23:52:55","guid":{"rendered":"http:\/\/wordpress.callac.online\/index.php\/la-boucle-while-en-python\/"},"modified":"2022-01-05T22:41:54","modified_gmt":"2022-01-05T21:41:54","slug":"la-boucle-while-en-python","status":"publish","type":"page","link":"https:\/\/wordpress.callac.online\/index.php\/python\/generalites-sur-python\/la-boucle-while-en-python\/","title":{"rendered":"La boucle while (en Python)"},"content":{"rendered":"<h2>Le sch\u00e9ma classique<\/h2>\n<hr \/>\n<p>Le but de la boucle <em>while<\/em> est de r\u00e9p\u00e9ter certaines instructions tant qu&rsquo;une condition est respect\u00e9e.<\/p>\n<p>On n&rsquo;est pas donc oblig\u00e9 de savoir au d\u00e9part le nombre de r\u00e9p\u00e9titions \u00e0 faire.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">instruction normale\ninstruction normale\ninstruction normale\n...\n\nwhile condition :\n    instruction de la boucle\n    instruction de la boucle\n    instruction de la boucle\n    ...\n\ninstruction normale\ninstruction normale\ninstruction normale\n...<\/pre>\n<h2>Un exemple minimal<\/h2>\n<hr \/>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\"># -*- coding:utf-8 -*-\n\nprint(\"*** Avant la boucle ***\")\n\nentree=\"bidule\"\n\nwhile entree != \"\" :\n    print(\"------ dans la boucle ------\")\n    entree=input(\"Taper un mot : \") \t\n\nprint(\"*** Apr\u00e8s la boucle ***\")\ninput(\"Appuyer sur ENTER pour terminer le programme. \")<\/pre>\n<p><strong>*l.1 \u00e0 l.6 : &#8212;&#8212;- avant la boucle &#8212;&#8212;&#8211;<\/strong><\/p>\n<p>&#8211; On trouve ici les instructions d&rsquo;avant la boucle. Elles ne sont donc ex\u00e9cut\u00e9es qu&rsquo;une seule fois !<br \/>&#8211; <strong>*l.5<\/strong> Cette \u00e9tape est indispensable. On initialise la variable <em>entree<\/em>. Si vous oubliez cette \u00e9tape, vous obtiendrez un message d&rsquo;erreur \u00e0 la ligne <strong>l.7<\/strong>, au moment o\u00f9 vous allez utiliser cette variable dans le test.<br \/>&#8211; Il faut aussi s&rsquo;assurer que la valeur choisie vous fasse rentrer dans la boucle !<br \/>&#8211; Vous pouvez faire un test en rempla\u00e7ant \u00ab\u00a0bidule\u00a0\u00bb par \u00ab\u00a0machin\u00a0\u00bb, puis par \u00ab\u00a0\u00a0\u00bb. Que se passe-t-il lors de l&rsquo;ex\u00e9cution ?<\/p>\n<p><strong>*l.7 \u00e0 l.9 : &#8212;&#8212;- la boucle &#8212;&#8212;-<\/strong><\/p>\n<p>&#8211; <strong>*l.7<\/strong><br \/>&#8211; Tant que <em>entree<\/em> est diff\u00e9rent de \u00ab\u00a0\u00a0\u00bb, on va effectuer les instructions de la boucle.<br \/>&#8211; <em>entree!=\u00a0\u00bbbidule\u00a0\u00bb<\/em> est ma condition qui renvoie un bool\u00e9en (<em>True<\/em> ou <em>False<\/em>)<br \/>&#8211; Ne pas oublier le \u00ab\u00a0:\u00a0\u00bb en fin de ligne.<br \/>&#8211; <strong>*l.8 \u00e0 l.9<\/strong> Voici les instructions de la boucle qui seront ex\u00e9cut\u00e9es \u00e0 chaque fois que le test initial rendra comme r\u00e9sultat <em>True<\/em>.<br \/>&#8211; Pour diff\u00e9rencier ces instructions de la suite du programme, on a tap\u00e9 au d\u00e9but une tabulation (de plus), cette indentation (ce d\u00e9calage) est indispensable.<br \/>&#8211; Chose importante : si on veut pouvoir sortir de la boucle <em>while<\/em>, il faut que la variable utilis\u00e9e dans le test change de valeur ! C&rsquo;est le cas \u00e0 la ligne <em>l.9<\/em>. Sinon, on entre dans ce qu&rsquo;on appelle une boucle sans fin &#8230;<\/p>\n<p><strong>*l.10 \u00e0 l.12 : &#8212;&#8212;- apr\u00e8s la boucle &#8212;&#8212;-<\/strong><\/p>\n<p>Le d\u00e9calage est termin\u00e9 : on revient au niveau d&rsquo;avant la boucle. Le programme continue normalement.<\/p>\n<h2>L&rsquo;instruction break<\/h2>\n<hr \/>\n<p>L&rsquo;instruction <em>break<\/em> sert, non pas \u00e0 interrompre le programme, mais \u00e0 sortir de la boucle.<\/p>\n<p>Essayez de comprendre ce que fait l&rsquo;exemple pr\u00e9c\u00e9dent modifi\u00e9 :<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\"># -*- coding:utf-8 -*-\n\nprint(\"*** Avant la boucle ***\")\n\nentree=\"bidule\"\n\nwhile entree != \"\":\n    print(\"------ dans la boucle ------\")\n    entree=input(\"Taper un mot : \")\n    if entree==\"ouistiti\" :\n        print(\"J'ai vu un ouistiti !\")\n        break\n\nprint(\"*** Apr\u00e8s la boucle ***\")\ninput(\"Appuyer sur ENTER pour terminer le programme. \")<\/pre>\n<h2>Simulation d&rsquo;une boucle for<\/h2>\n<hr \/>\n<p>Si l&rsquo;on conna\u00eet le nombre de r\u00e9p\u00e9titions, on peut alors utiliser une boucle <em>for<\/em>. Mais on peut aussi bien le faire avec une boucle <em>while<\/em>.<\/p>\n<p>Cet exemple vous rappelle quelque chose ?<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\"># -*- coding:utf-8 -*-\n\nnb_repetitions = 3\ni = 1\n\nwhile i &lt;= nb_repetitions :\n    print(\"Et \"+str(i)+\"!\")\n    i = i+1\nprint(\"Z\u00e9ro!\")\n\ninput(\"Appuyer sur ENTER pour terminer le programme. \")<\/pre>\n<hr \/>\n<p><iframe loading=\"lazy\" src=\"https:\/\/trinket.io\/embed\/python\/625a22a937?toggleCode=true\" width=\"100%\" height=\"600\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p><a href=\"https:\/\/filedn.com\/lpKG7uY9hIHVel5exA5Ik80\/Wordpress\/Python\/Coderunner\/E\/questionsE.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">Des exercices<\/a> faits avec CodeRunner<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le sch\u00e9ma classique Le but de la boucle while est de r\u00e9p\u00e9ter certaines instructions tant qu&rsquo;une condition est respect\u00e9e. On n&rsquo;est pas donc oblig\u00e9 de savoir au d\u00e9part le nombre&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1649,"menu_order":3,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-228","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>La boucle while (en Python) - Maths &amp; Num\u00e9rique<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wordpress.callac.online\/index.php\/python\/generalites-sur-python\/la-boucle-while-en-python\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"La boucle while (en Python) - Maths &amp; Num\u00e9rique\" \/>\n<meta property=\"og:description\" content=\"Le sch\u00e9ma classique Le but de la boucle while est de r\u00e9p\u00e9ter certaines instructions tant qu&rsquo;une condition est respect\u00e9e. On n&rsquo;est pas donc oblig\u00e9 de savoir au d\u00e9part le nombre&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wordpress.callac.online\/index.php\/python\/generalites-sur-python\/la-boucle-while-en-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Maths &amp; Num\u00e9rique\" \/>\n<meta property=\"article:modified_time\" content=\"2022-01-05T21:41:54+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/wordpress.callac.online\/index.php\/python\/generalites-sur-python\/la-boucle-while-en-python\/\",\"url\":\"https:\/\/wordpress.callac.online\/index.php\/python\/generalites-sur-python\/la-boucle-while-en-python\/\",\"name\":\"La boucle while (en Python) - Maths &amp; Num\u00e9rique\",\"isPartOf\":{\"@id\":\"https:\/\/wordpress.callac.online\/#website\"},\"datePublished\":\"2010-07-21T23:52:55+00:00\",\"dateModified\":\"2022-01-05T21:41:54+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/wordpress.callac.online\/index.php\/python\/generalites-sur-python\/la-boucle-while-en-python\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wordpress.callac.online\/index.php\/python\/generalites-sur-python\/la-boucle-while-en-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wordpress.callac.online\/index.php\/python\/generalites-sur-python\/la-boucle-while-en-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/wordpress.callac.online\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python\",\"item\":\"https:\/\/wordpress.callac.online\/index.php\/python\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"G\u00e9n\u00e9ralit\u00e9s sur Python\",\"item\":\"https:\/\/wordpress.callac.online\/index.php\/python\/generalites-sur-python\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"La boucle while (en Python)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/wordpress.callac.online\/#website\",\"url\":\"https:\/\/wordpress.callac.online\/\",\"name\":\"Maths & Num\u00e9rique\",\"description\":\"Des outils pour les enseignants de math\u00e9matiques et de num\u00e9rique\",\"publisher\":{\"@id\":\"https:\/\/wordpress.callac.online\/#\/schema\/person\/04061f1ca2c2c42039142a704be95940\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/wordpress.callac.online\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/wordpress.callac.online\/#\/schema\/person\/04061f1ca2c2c42039142a704be95940\",\"name\":\"dlefur\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/wordpress.callac.online\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4a9e17be136808c6597f28aa2b6c13126dab066fdc2198ff60090972c9b7fafc?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4a9e17be136808c6597f28aa2b6c13126dab066fdc2198ff60090972c9b7fafc?s=96&d=mm&r=g\",\"caption\":\"dlefur\"},\"logo\":{\"@id\":\"https:\/\/wordpress.callac.online\/#\/schema\/person\/image\/\"},\"description\":\"Enseignant de math\u00e9matiques Lyc\u00e9e Pasteur S\u00e3o Paulo\",\"sameAs\":[\"http:\/\/wordpress.callac.online\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"La boucle while (en Python) - Maths &amp; Num\u00e9rique","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wordpress.callac.online\/index.php\/python\/generalites-sur-python\/la-boucle-while-en-python\/","og_locale":"fr_FR","og_type":"article","og_title":"La boucle while (en Python) - Maths &amp; Num\u00e9rique","og_description":"Le sch\u00e9ma classique Le but de la boucle while est de r\u00e9p\u00e9ter certaines instructions tant qu&rsquo;une condition est respect\u00e9e. On n&rsquo;est pas donc oblig\u00e9 de savoir au d\u00e9part le nombre&hellip;","og_url":"https:\/\/wordpress.callac.online\/index.php\/python\/generalites-sur-python\/la-boucle-while-en-python\/","og_site_name":"Maths &amp; Num\u00e9rique","article_modified_time":"2022-01-05T21:41:54+00:00","twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wordpress.callac.online\/index.php\/python\/generalites-sur-python\/la-boucle-while-en-python\/","url":"https:\/\/wordpress.callac.online\/index.php\/python\/generalites-sur-python\/la-boucle-while-en-python\/","name":"La boucle while (en Python) - Maths &amp; Num\u00e9rique","isPartOf":{"@id":"https:\/\/wordpress.callac.online\/#website"},"datePublished":"2010-07-21T23:52:55+00:00","dateModified":"2022-01-05T21:41:54+00:00","breadcrumb":{"@id":"https:\/\/wordpress.callac.online\/index.php\/python\/generalites-sur-python\/la-boucle-while-en-python\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wordpress.callac.online\/index.php\/python\/generalites-sur-python\/la-boucle-while-en-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/wordpress.callac.online\/index.php\/python\/generalites-sur-python\/la-boucle-while-en-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/wordpress.callac.online\/"},{"@type":"ListItem","position":2,"name":"Python","item":"https:\/\/wordpress.callac.online\/index.php\/python\/"},{"@type":"ListItem","position":3,"name":"G\u00e9n\u00e9ralit\u00e9s sur Python","item":"https:\/\/wordpress.callac.online\/index.php\/python\/generalites-sur-python\/"},{"@type":"ListItem","position":4,"name":"La boucle while (en Python)"}]},{"@type":"WebSite","@id":"https:\/\/wordpress.callac.online\/#website","url":"https:\/\/wordpress.callac.online\/","name":"Maths & Num\u00e9rique","description":"Des outils pour les enseignants de math\u00e9matiques et de num\u00e9rique","publisher":{"@id":"https:\/\/wordpress.callac.online\/#\/schema\/person\/04061f1ca2c2c42039142a704be95940"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wordpress.callac.online\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":["Person","Organization"],"@id":"https:\/\/wordpress.callac.online\/#\/schema\/person\/04061f1ca2c2c42039142a704be95940","name":"dlefur","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/wordpress.callac.online\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/4a9e17be136808c6597f28aa2b6c13126dab066fdc2198ff60090972c9b7fafc?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4a9e17be136808c6597f28aa2b6c13126dab066fdc2198ff60090972c9b7fafc?s=96&d=mm&r=g","caption":"dlefur"},"logo":{"@id":"https:\/\/wordpress.callac.online\/#\/schema\/person\/image\/"},"description":"Enseignant de math\u00e9matiques Lyc\u00e9e Pasteur S\u00e3o Paulo","sameAs":["http:\/\/wordpress.callac.online"]}]}},"_links":{"self":[{"href":"https:\/\/wordpress.callac.online\/index.php\/wp-json\/wp\/v2\/pages\/228","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.callac.online\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wordpress.callac.online\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.callac.online\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.callac.online\/index.php\/wp-json\/wp\/v2\/comments?post=228"}],"version-history":[{"count":3,"href":"https:\/\/wordpress.callac.online\/index.php\/wp-json\/wp\/v2\/pages\/228\/revisions"}],"predecessor-version":[{"id":2908,"href":"https:\/\/wordpress.callac.online\/index.php\/wp-json\/wp\/v2\/pages\/228\/revisions\/2908"}],"up":[{"embeddable":true,"href":"https:\/\/wordpress.callac.online\/index.php\/wp-json\/wp\/v2\/pages\/1649"}],"wp:attachment":[{"href":"https:\/\/wordpress.callac.online\/index.php\/wp-json\/wp\/v2\/media?parent=228"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}