{"id":4647,"date":"2012-06-21T16:55:57","date_gmt":"2012-06-21T20:55:57","guid":{"rendered":"http:\/\/cscircles.cemc.uwaterloo.ca\/?page_id=4647"},"modified":"2013-08-07T19:46:05","modified_gmt":"2013-08-07T23:46:05","slug":"6-fr","status":"publish","type":"page","link":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/6-fr\/","title":{"rendered":"6: If"},"content":{"rendered":"<!-- Please retain this notice and add more notes if you create a new version.<br \/>\nMain French translator: Brice Canvel, brice.canvel@gmail.com<br \/>\nOriginal lesson author: David Pritchard, daveagp@gmail.com<br \/>\nLicense: http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/<br \/>\nFor the full site, visit http:\/\/cscircles.ca-->\n<p>Dans cette le\u00e7on, nous allons introduire la possibilit\u00e9 pour un programme de prendre des d\u00e9cisions en utilisant l'instruction <code>if<\/code>. Nous allons introduire ce concept en utilisant l'exemple de calculer le plus grand de deux nombres (comme la fonction <code>max<\/code>). Ce programme contient deux <strong>instructions if<\/strong>.<\/p>\n<p>Que se passe-t-il si l'entr\u00e9e est comme le suivant?<\/p>\n<pre>5\r\n2<\/pre>Essayez de d\u00e9terminer la sortie du programme avant de l'ex\u00e9cuter.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform0\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox0'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div>Calculer le maximum et illustrer <code>if<\/code><div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 266px;'><textarea wrap='off' name='usercode0' id='usercode0'  cols=10 rows=10 readonly='readonly'  style = 'height : 266px;'  class='pyboxCode RO'>\nx = int(input())\ny = int(input())\nprint('Dans ce cas de test x =', x, 'et y =', y)\nif x >= y:\n    print('(Le maximum est x)')\n    theMax = x\nif y > x:\n    print('(Le maximum est y)')\n    theMax = y\nprint('Le maximum est', theMax)<\/textarea><\/div>\n<div id='pbhistory0' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit0' value=' '\/><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(0)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(0,'N')\" ><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse0\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"0\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"cffb82b390564c3bb0bb55c14d6c60b3\"\/>\n<div id='pbresults0' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit0\").value = \"Run program\";document.getElementById(\"inputInUse0\").value = \"N\";<\/script>\n<\/p>\n<p>Avez-vous trouv\u00e9 la sortie correcte? Utilisez le visualiseur si n\u00e9cessaire.<\/p>\n<p>Faisons l'exercice pas \u00e0 pas avec une deuxi\u00e8me entr\u00e9e de test,<\/p>\n<pre>3\r\n7<\/pre>Dans les deux premi\u00e8res lignes, <code>x<\/code> prend la valeur 3 (la premi\u00e8re ligne d'entr\u00e9e) et <code>y<\/code> la valeur 7. Nous avons ensuite la ligne<\/p>\n<pre>if x &gt;= y:<\/pre>Elle v\u00e9rifie si <code>x<\/code> est plus grand ou \u00e9gal \u00e0 <code>y<\/code>. Comme 3 est inf\u00e9rieur \u00e0 7, c'est faux. En cons\u00e9quence, les lignes suivantes ne sont pas ex\u00e9cut\u00e9es (elles sont saut\u00e9es):<\/p>\n<pre>  print('(Le maximum est x)')\r\n  theMax = x<\/pre>Pour la prochaine instruction<\/p>\n<pre>if y &gt; x:<\/pre>le programme v\u00e9rifie si y est strictement plus grand que x, ce qui est vrai. Donc les lignes\u00a0<code>print('(Le maximum est y)')<\/code> et\u00a0<code> theMax = y<\/code> sont ex\u00e9cut\u00e9es (elles ne sont pas saut\u00e9es). Et pour finir, la ligne<\/p>\n<pre>print('Le maximum est', theMax)<\/pre>est ex\u00e9cut\u00e9e.<\/p>\n<p>Dans le premier cas que nous avons test\u00e9, l'inverse s'est produit: le premier groupe de ligne a \u00e9t\u00e9 ex\u00e9cut\u00e9, le second a \u00e9t\u00e9 saut\u00e9 et finalement \u00a0<code>print('Le maximum est', theMax)<\/code> a \u00e9t\u00e9 ex\u00e9cut\u00e9 \u00e0 nouveau.<\/p>\n<h2>La structure g\u00e9n\u00e9rale d'une instruction if<\/h2>\n<ul>\n<li>La premi\u00e8re ligne,\n<pre>if \u00abcondition\u00bb:<\/pre>est compos\u00e9e de 3 parties: le mot\u00a0<code>if<\/code>, la\u00a0<code>\u00ab<span style=\"line-height: 22px;\">C<\/span>ONDITION\u00bb<\/code> qui doit \u00eatre une expression Vraie\/Fausse (plus de d\u00e9tails ci-apr\u00e8s) et les deux points\u00a0<code>:<\/code><\/li>\n<li>Ensuite un\u00a0<strong>block<\/strong>, qui signifie une s\u00e9ries de commandes qui peuvent \u00eatre sur une ou plusieurs lignes. Python d\u00e9termine o\u00f9 le block commence en utilisant l<em>'indentation<\/em>, en d'autres termes, il vous faut mettre le m\u00eame nombre d'espaces devant chaque ligne du block.<\/li>\n<\/ul>\n<h3>Blocks<\/h3>\n<p>Les blocks seront utilis\u00e9s \u00e0 pleins d'autres endroits plus tard dans ce cours: Dans les boucles for ou quand vous \u00e9crirez vos propres fonctions, pas exemple (Dans d'<em>autres langages<\/em>, les blocks sont souvent d\u00e9limit\u00e9s par des accolades \u00a0<code><code>{}<\/code><\/code>.) Toutes les lignes d'un block doivent avoir la <strong>m\u00eame indentation<\/strong>: elles doivent commencer avec le m\u00eame nombre d'espaces. Lorsque Python voit qu'une ligne a plus d'espaces, il consid\u00e8re qu'il s'agit d'un nouveau blocks et quand il y a \u00e0 nouveau moins d'espaces, que le block se termine.<\/p>\n<p>Vous allez maintenant vous entra\u00eener avec les blocks Python. Le prochain exercice est en fait quatre exercices en un. Vous allez arranger les lignes du programme pour obtenir diff\u00e9rents r\u00e9sultats. Cliquez sur les barres verticales pour pour ouvrir chaque partie; vous pouvez les faire dans n'importe quel ordre. Comme vous avez l'habitude maintenant, cliquez et d\u00e9placez les lignes de code pour les r\u00e9arranger.<\/p>\n<div class=\"accordion\"><div class='collapseContain hiding'>\n<div class='collapseHead'><span class='icon'><\/span>\nPartie 1: Indentation inattendue\n<\/div>\n<div class='collapseBody'><form class=\"pbform\" action=\"#\" id=\"pbform1\" method=\"POST\">\n<div class='pybox modeNeutral scramble' id='pybox1'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Scramble Exercise: <\/span><span class='title'>Indentation inattendue<\/span><\/div>Vous devez reproduire l'erreur suivante:<\/p>\n<pre>IndentationError: unexpected indent<\/pre><ul class=\"pyscramble\" name=\"pyscramble\" id=\"pyscramble1\">\n <li class=\"pyscramble\">if 1000 &lt; 10:<\/li>\n <li class=\"pyscramble\">   print(&quot;message 1&quot;)<\/li>\n <li class=\"pyscramble\">  print(&quot;message 2&quot;)<\/li>\n <li class=\"pyscramble\">if 2 &gt; 1:<\/li>\n <li class=\"pyscramble\">  print(&quot;message 3&quot;)<\/li>\n<\/ul>\n<input type='hidden' id='usercode1' name='usercode1'\/>\n<div id='pbhistory1' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit1' value=' '\/><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse1\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"1\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"d7bae7d2342daffbb52242ef0fdaa765\"\/>\n<div id='pbresults1' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit1\").value = \"Run program\";document.getElementById(\"inputInUse1\").value = \"N\";<\/script>\n<\/div><\/div><div class='collapseContain hiding'>\n<div class='collapseHead'><span class='icon'><\/span>\nPartie 2: Non-indentation inattendue\n<\/div>\n<div class='collapseBody'><form class=\"pbform\" action=\"#\" id=\"pbform2\" method=\"POST\">\n<div class='pybox modeNeutral scramble' id='pybox2'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Scramble Exercise: <\/span><span class='title'>Non-indentation inattendue<\/span><\/div>Vous devez reproduire l'erreur suivante:<\/p>\n<pre>IndentationError: unindent does not match any outer indentation level<\/pre><ul class=\"pyscramble\" name=\"pyscramble\" id=\"pyscramble2\">\n <li class=\"pyscramble\">if 1000 &lt; 10:<\/li>\n <li class=\"pyscramble\">  print(&quot;message 2&quot;)<\/li>\n <li class=\"pyscramble\">if 2 &gt; 1:<\/li>\n <li class=\"pyscramble\">  print(&quot;message 3&quot;)<\/li>\n <li class=\"pyscramble\">   print(&quot;message 1&quot;)<\/li>\n<\/ul>\n<input type='hidden' id='usercode2' name='usercode2'\/>\n<div id='pbhistory2' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit2' value=' '\/><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse2\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"2\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"9cc1d765de6f915c1550ecfe63f334b6\"\/>\n<div id='pbresults2' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit2\").value = \"Run program\";document.getElementById(\"inputInUse2\").value = \"N\";<\/script>\n<\/div><\/div><div class='collapseContain hiding'>\n<div class='collapseHead'><span class='icon'><\/span>\nPartie 3: Indentation attendu mais non trouv\u00e9\n<\/div>\n<div class='collapseBody'><form class=\"pbform\" action=\"#\" id=\"pbform3\" method=\"POST\">\n<div class='pybox modeNeutral scramble' id='pybox3'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Scramble Exercise: <\/span><span class='title'>Indentation attendu<\/span><\/div>Vous devez reproduire l'erreur suivante:<\/p>\n<pre>IndentationError: expected an indented block<\/pre><ul class=\"pyscramble\" name=\"pyscramble\" id=\"pyscramble3\">\n <li class=\"pyscramble\">if 1000 &lt; 10:<\/li>\n <li class=\"pyscramble\">   print(&quot;message 1&quot;)<\/li>\n <li class=\"pyscramble\">  print(&quot;message 2&quot;)<\/li>\n <li class=\"pyscramble\">if 2 &gt; 1:<\/li>\n <li class=\"pyscramble\">  print(&quot;message 3&quot;)<\/li>\n<\/ul>\n<input type='hidden' id='usercode3' name='usercode3'\/>\n<div id='pbhistory3' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit3' value=' '\/><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse3\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"3\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"ca34f3ef3840e349f0c6a34223a0be88\"\/>\n<div id='pbresults3' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit3\").value = \"Run program\";document.getElementById(\"inputInUse3\").value = \"N\";<\/script>\n<\/div><\/div><div class='collapseContain hiding'>\n<div class='collapseHead'><span class='icon'><\/span>\nPartie 4: Indentation correcte\n<\/div>\n<div class='collapseBody'><form class=\"pbform\" action=\"#\" id=\"pbform4\" method=\"POST\">\n<div class='pybox modeNeutral scramble' id='pybox4'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Scramble Exercise: <\/span><span class='title'>Indentation correcte<\/span><\/div>Ne provoquez pas d'erreurs!<ul class=\"pyscramble\" name=\"pyscramble\" id=\"pyscramble4\">\n <li class=\"pyscramble\">if 1000 &lt; 10:<\/li>\n <li class=\"pyscramble\">   print(&quot;message 1&quot;)<\/li>\n <li class=\"pyscramble\">  print(&quot;message 2&quot;)<\/li>\n <li class=\"pyscramble\">if 2 &gt; 1:<\/li>\n <li class=\"pyscramble\">  print(&quot;message 3&quot;)<\/li>\n<\/ul>\n<input type='hidden' id='usercode4' name='usercode4'\/>\n<div id='pbhistory4' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit4' value=' '\/><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse4\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"4\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"c2f94afe9828d3a00fc8a45214f01d1c\"\/>\n<div id='pbresults4' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit4\").value = \"Run program\";document.getElementById(\"inputInUse4\").value = \"N\";<\/script>\n<\/div><\/div><\/div>\n<h3>True, False, et\u00a0<code>bool<\/code><\/h3>\n<p>Jusqu'\u00e0 pr\u00e9sent, dans la partie\u00a0<code>\u00abcondition\u00bb<\/code>\u00a0de l'instruction <code>if<\/code>, nous avons vu de simples comparaisons num\u00e9riques comme\u00a0<code>x &gt; y<\/code> et\u00a0<code>x &lt;= y<\/code>, qui sont \u00e9valu\u00e9es comme \u00e9tant vraies ou fausses. Plus g\u00e9n\u00e9ralement, n'importe quelle expression ou valeur qui est vraie ou fausse est appel\u00e9e <strong>Bool\u00e9enne<\/strong> (en r\u00e9f\u00e9rence \u00e0\u00a0<a href=\"http:\/\/fr.wikipedia.org\/wiki\/George_Boole\">George Boole<\/a>). En Python, le type <code>bool<\/code>\u00a0est utilis\u00e9 pour repr\u00e9senter des valeurs bool\u00e9ennes; il n'existe que deux valeurs bool\u00e9ennes,\u00a0<code>True<\/code>\u00a0(Vrai) et\u00a0<code>False<\/code> (Faux).<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform5\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox5'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div>Expressions bool\u00e9ennes<div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 110px;'><textarea wrap='off' name='usercode5' id='usercode5'  cols=10 rows=4 readonly='readonly'  style = 'height : 110px;'  class='pyboxCode RO'>\nprint(2&gt;1)\nb = False\nprint(b)\nprint(type(b), type(2&gt;1), type(True))<\/textarea><\/div>\n<div id='pbhistory5' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit5' value=' '\/><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(5)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(5,'N')\" ><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse5\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"5\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"b696c04c9860d8276e0ff89ec3161af2\"\/>\n<div id='pbresults5' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit5\").value = \"Run program\";document.getElementById(\"inputInUse5\").value = \"N\";<\/script>\n<\/p>\n<p>Notez qu'en Python, quand vous utilisez les valeurs bool\u00e9ennes\u00a0<code>True<\/code> et\u00a0<code>False<\/code>\u00a0directement dans un programme, elle <a href=\"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/console\/?consolecode=print%28true%29\" target=\"_blank\">doivent \u00eatre \u00e9crites avec une majuscule en premier sinon vous obtiendrez une erreur<\/a>.<\/p>\n<h3>Comparaisons Bool\u00e9ennes<\/h3>\n<p>Nous avons d\u00e9j\u00e0 rencontr\u00e9 la famille des op\u00e9rateurs\u00a0<code>&lt;<\/code>, <code>&gt;<\/code>, <code>&lt;=<\/code> et\u00a0<code>&gt;=<\/code>\u00a0qui comparent deux nombres et renvoie un bool. Il y a deux autres mani\u00e8res de comparer des nombres:<\/p>\n<ul>\n<li><code>x == y<\/code>\u00a0est l'<strong>op\u00e9rateur d'\u00e9galit\u00e9<\/strong>, il retourne\u00a0<code>True<\/code>\u00a0si x et y sont \u00e9gaux<\/li>\n<li><code>x != y<\/code>\u00a0est l'<strong>op\u00e9rateur de non-\u00e9galit\u00e9<\/strong>, il retourne True si x et y ne sont pas \u00e9gaux<\/li>\n<li><code>==<\/code> et\u00a0<code>!=<\/code>\u00a0fonctionnent aussi pour les cha\u00eenes de caract\u00e8res et d'autres types de donn\u00e9es<\/li>\n<\/ul>\n<p>(Il y a deux signes \u00e9gaux\u00a0<code>==<\/code>\u00a0puisque le signe \u00e9gal \u00e0 d\u00e9j\u00e0 comme signification dans \u00a0<code>x = \u00abexpression\u00bb<\/code>\u00a0d'<em>assigner \u00e0 la variable x la valeur d'\u00abexpression\u00bb<\/em>. Confondre\u00a0<code>=<\/code> avec\u00a0<code>==<\/code>\u00a0est une erreur courante <a href=\"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/console\/?consolecode=x%20%3D%201%2B1%0Aif%20x%20%3D%202%3A%20%23devrait%20%C3%AAtre%20%3D%3D%0A%20print%28%22Monkey%22%29\" target=\"_blank\">source<\/a> d'<a href=\"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/console\/?consolecode=n%20%3D%2010%0As%20%3D%3D%20n%2An%20%23devrait%20%C3%AAtre%20%3D\" target=\"_blank\">erreurs<\/a>.)<\/p>\n<p>Voici un exercice pour commencer.<br \/>\n<form class=\"pbform\" action=\"#\" id=\"pbform6\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox6'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Coding Exercise: <\/span><span class='title'>Quel est votre signe?<\/span><\/div>Ecrivez un programme qui lit un entier depuis l'entr\u00e9e et qui ensuite \u00e9crit l'un des trois mots avec majuscule Positif, Negatif ou Zero suivant que le nombre est positif, n\u00e9gatif ou z\u00e9ro.<div class=\"helpOuter\" style=\"display: none;\"><div class=\"helpInner\"><div style=\"text-align: center\">You need to create an account and log in to ask a question.<\/div><\/div><\/div><div class='pyboxTextwrap pyboxCodewrap RW resizy'  style='height: 526px;'><textarea wrap='off' name='usercode6' id='usercode6'  cols=10 rows=20   class='pyboxCode RW'>\nx=int(input())\n# delete this comment and enter your code here\n<\/textarea><\/div>\n<div id='pbhistory6' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput6\">You may enter input for the program in the box below.<div class=\"pyboxTextwrap resizy\" style=\"height: 102px;\" ><textarea wrap=\"off\" name=\"userinput\" class=\"pyboxInput\" cols=10 rows=4><\/textarea><\/div><\/div>\n<input type='hidden' id='defaultCode6' value='x=int(input())\\n'><\/input>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit6' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch6\" value=\"Input Switch\" onclick=\"pbInputSwitch(6,'N')\" ><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(6)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(6,'N')\" ><\/td>\n<\/tr><\/table><select id='pbSelect6' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='history' data-pbonclick=\"historyClick(6,'6.sign')\" >History<\/option>\n<option name='default' data-pbonclick=\"pbSetText(6,descape($('#defaultCode6').val()))\" >Reset code to default<\/option>\n<option name='help' data-pbonclick=\"helpClick(6);\" >Help<\/option>\n<\/select><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse6\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"6\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"e56707a73b810cb77af3ef83edf4f28b\"\/>\n<div id='pbresults6' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>pbInputSwitch(6,\"N\");<\/script>\n<\/p>\n<p>Nous venons d'introduire le concept de\u00a0<strong>block<\/strong> (quelques lignes group\u00e9es ensembles au m\u00eame niveau d'indentation). Vous pouvez avoir un block au sein m\u00eame d'un autre block:<\/p>\n<pre>if password=='ouvreToiS\u00e9same':\r\n  print('Utilisateur enregistr\u00e9.')\r\n  if heure&gt;17:\r\n    print('Bonsoir!')\r\n  print('Entrez une commande:')<\/pre>Ici le block ext\u00e9rieur est constitu\u00e9 de 4 lignes et le block int\u00e9rieur d'une seule ligne:\u00a0<pre>\nif password=='ouvreToiS\u00e9same':  <div style=\"margin-left: 18px; margin-right: 18px; background: #CCF; border: solid blue 1px;\">print('Utilisateur enregistr\u00e9.')<br\/>if heure&gt;17:\n<div style=\"margin-left: 36px; margin-right: 18px; background: #FCC; border: solid red 1px;\">print('Bonsoir!')<\/div>print('Entrez une commande:')<\/div><\/pre><\/p>\n<p><div class='pybox modeNeutral' id='pybox7'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Multiple Choice Exercise: <\/span><span class='title'><code>if<\/code>s imbriqu\u00e9s<\/span><\/div><div>Laquelle des sorties suivantes n'est <strong>pas<\/strong> possible pour ce programme?<\/div><label>Your choice: <\/label><select id=\"pyselect7\"><option value=\"d\" selected>Select one<\/option><option value=\"w\">trois lignes: 'Utilisateur enregistr\u00e9.', 'Bonsoir!', et 'Entrez une commande:'<\/option><option value=\"w\">aucun de sortie<\/option><option value=\"w\">deux lines: 'Utilisateur enregistr\u00e9.' et 'Entrez une commande:'<\/option><option value=\"r\">une ligne: 'Utilisateur enregistr\u00e9.'<\/option><\/select><div class='pyboxbuttons'><input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" name=\"slug\" value=\"6.nested\"\/><input type='submit' style='margin:5px;' value='Check answer' onClick='pbMultiCheck(7)'\/><\/div><div class=\"pbresults\" id=\"pyMultiResults7\"><\/div><div class=\"epilogue\">Correct! Si des messages sont affich\u00e9s, ce doit \u00eatre le cas que le bloc ext\u00e9rieur (bleu) a \u00e9t\u00e9 ex\u00e9cut\u00e9, ou en d'autres termes que le mot de passe est correct. Dans ce cas, m\u00eame si <code>heure&gt;17<\/code> est fausse (et le bloc interne est saut\u00e9e), la ligne <code>print('Entrez une commande:')<\/code> du bloc externe sera ex\u00e9cut\u00e9e.<\/div><\/div>\n<p>Plus tard, dans la le\u00e7on 9, nous verrons que des situations impliquants plusieurs v\u00e9rifications bool\u00e9enne peuvent \u00eatre simplifi\u00e9es en utilisant les commande <code>else<\/code> et <code>elif<\/code> (else if) en m\u00eame temps que les op\u00e9rateurs bool\u00e9ens\u00a0<code>and<\/code>, <code>or<\/code>, et <code>not<\/code>. Vous \u00eates pr\u00eat \u00e0 passer \u00e0 la le\u00e7on suivante.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans cette le\u00e7on, nous allons introduire la possibilit\u00e9 pour un programme de prendre des d\u00e9cisions en utilisant l'instruction if. Nous allons introduire ce concept en utilisant l'exemple de calculer le plus grand de deux nombres (comme la fonction max). Ce &hellip; <a href=\"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/6-fr\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4647","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/4647","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/comments?post=4647"}],"version-history":[{"count":32,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/4647\/revisions"}],"predecessor-version":[{"id":7454,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/4647\/revisions\/7454"}],"wp:attachment":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/media?parent=4647"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}