Feat(PPS): Ajout d'une partie sur les fonctions
This commit is contained in:
parent
53fb2a81b0
commit
7a7bfdd00d
|
@ -13123,9 +13123,8 @@ div#notebook {
|
|||
<li><a href="#G&#233;n&#233;rateur-d'excuses">Générateur d'excuses</a></li>
|
||||
<li><a href="#Magic-8-ball">Magic 8 ball</a></li>
|
||||
<li><a href="#Deviner-un-nombre">Deviner un nombre</a></li>
|
||||
<li><a href="#Pierre-Feuille-Ciseau">Pierre feuille ciseau</a></li>
|
||||
<li><a href="#Deviner-un-nombre">Deviner un nombre (améliorations)</a></li>
|
||||
<li><a href="#Generateur-de-simleys">Generateur de Smiley</a></li>
|
||||
<li><a href="#Pierre-Feuille-Ciseau">Pierre feuille ciseau</a></li>
|
||||
<li><a href="#Chiffrement-de-Cesar">Chiffrement de Cesar</a></li>
|
||||
<li><a href="#Polynome-du-2nd-degre">Polynome du 2nd degré</a></li>
|
||||
</ul>
|
||||
|
@ -13136,7 +13135,7 @@ div#notebook {
|
|||
<li><a href="#Condition-if">Les conditions if</a></li>
|
||||
<li><a href="#Boucles-for">Les boucles for</a></li>
|
||||
<li><a href="#Boucles-while">Les boucles while</a></li>
|
||||
<li><a href="#Fonction">Les fonctions</a></li>
|
||||
<li><a href="#Fonctions">Les fonctions</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
<p>Ressouces Python</p>
|
||||
|
@ -13453,9 +13452,10 @@ Je suis innocent (monsieur)!
|
|||
</div><div class="inner_cell">
|
||||
<div class="text_cell_render border-box-sizing rendered_html">
|
||||
<ul>
|
||||
<li>Modifier les lignes précédentes pour se présenter <strong>Bonjour, je m'appelle (Bob)</strong>.</li>
|
||||
<li>Modifier les lignes précédentes pour se présenter <strong>Bonjour, je m'appelle Bob</strong> où <strong>Bob</strong> est un nom stocké dans une variable <strong>nom</strong>.</li>
|
||||
</ul>
|
||||
<p>Pour demander quelque chose à l'utilisateur, on utilise la fonction <code>input</code></p>
|
||||
<p>Pour demander quelque chose à l'utilisateur, on utilise la fonction <code>input</code>.</p>
|
||||
<p>Dans le programme suivant, l'ordinateur pose une question (<strong>Nom du coupable (masculin)?</strong>), attend que l'utilisateur donne une réponse puis réutilise cette réponse pour faire une phrase (<strong>C'est pas moi! c'est ....</strong>)</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -13483,8 +13483,8 @@ Je suis innocent (monsieur)!
|
|||
|
||||
|
||||
<div class="output_subarea output_stream output_stdout output_text">
|
||||
<pre>Nom du coupable (masculin)? bob
|
||||
C'est pas moi! C'est bob
|
||||
<pre>Nom du coupable (masculin)? Bob
|
||||
C'est pas moi! C'est Bob
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -13497,7 +13497,10 @@ C'est pas moi! C'est bob
|
|||
</div><div class="inner_cell">
|
||||
<div class="text_cell_render border-box-sizing rendered_html">
|
||||
<ul>
|
||||
<li>Finir d'écrire le programme qui permettra de générer une excuse</li>
|
||||
<li>Modifier les lignes précédentes pour que l'ordinateur demande un verbe d'action puis construit une phrase utilisant ce verbe d'action.</li>
|
||||
</ul>
|
||||
<h3 id="Proposition-d'étapes">Proposition d'étapes<a class="anchor-link" href="#Proposition-d'étapes">¶</a></h3><ul>
|
||||
<li>Finir d'écrire le programme qui demande des informations puis qui génére une excuse</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
@ -13578,7 +13581,7 @@ C'est pas moi! C'est bob
|
|||
|
||||
|
||||
<div class="output_text output_subarea output_execute_result">
|
||||
<pre>'reponse 1'</pre>
|
||||
<pre>'reponse 2'</pre>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
@ -13590,8 +13593,9 @@ C'est pas moi! C'est bob
|
|||
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
|
||||
</div><div class="inner_cell">
|
||||
<div class="text_cell_render border-box-sizing rendered_html">
|
||||
<ul>
|
||||
<li>En réutilisant la fonction <strong>input</strong> vue précédement, écrire un programme qui propose de poser une question et qui lui apporte une réponse!</li>
|
||||
<h3 id="Proposition-d'étapes">Proposition d'étapes<a class="anchor-link" href="#Proposition-d'étapes">¶</a></h3><ul>
|
||||
<li>L'ordinateur demande une question existentielle.</li>
|
||||
<li>L'ordinateur apporte une réponse aléatoire choisie parmis plusieurs réponses</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
@ -13601,6 +13605,9 @@ C'est pas moi! C'est bob
|
|||
</div><div class="inner_cell">
|
||||
<div class="text_cell_render border-box-sizing rendered_html">
|
||||
<h2 id="Deviner-un-nombre">Deviner un nombre<a class="anchor-link" href="#Deviner-un-nombre">¶</a></h2><p>Nous allons maintenant écrire un programme qui va chercher à faire deviner à l'utilisateur un nombre choisi aléatoirement par Python.</p>
|
||||
<p>L'ordinateur choisit un nombre aléatoire entre 1 et 20.
|
||||
L'utilisateur propose un nombre.
|
||||
L'ordinateur répond si le nombre proposé est plus grand, plus petit ou égal au nombre choisi.</p>
|
||||
<p>Pour faire choisir un nombre entier à Python, on utilise la fonction <code>randint(min,max)</code> (<code>randint</code> signifie random integer = entier aléatoire)</p>
|
||||
|
||||
</div>
|
||||
|
@ -13629,7 +13636,7 @@ C'est pas moi! C'est bob
|
|||
|
||||
|
||||
<div class="output_subarea output_stream output_stdout output_text">
|
||||
<pre>2
|
||||
<pre>15
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -13642,97 +13649,19 @@ C'est pas moi! C'est bob
|
|||
</div><div class="inner_cell">
|
||||
<div class="text_cell_render border-box-sizing rendered_html">
|
||||
<p>Faites executer plusieurs fois cette commande pour remarquer qu'elle ne retourne pas toujours le même résultat.</p>
|
||||
<ul>
|
||||
<h3 id="Propositions-d'étapes">Propositions d'étapes<a class="anchor-link" href="#Propositions-d'étapes">¶</a></h3><ul>
|
||||
<li><p>Completer votre programme pour demander une réponse à l'utilisateur <em>(utilisez <code>int(input("question"))</code> plutôt que <code>input("question")</code> pour que la réponse soit transformée en entier)</em></p>
|
||||
</li>
|
||||
<li><p>Regarder la section sur <a href="#Condition-if">Condition if</a> pour adapter l'exemple et savoir lequel du nombre choisi par l'ordinateur ou de l'utilisateur est le plus grand.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li><p>Écrire le programme final qui fait choisir un nombre à l'ordinateur, qui demande un nombre à l'utilisateur puis qui dit si le nombre donné par l'utilisateur est plus grand ou plus petit.</p>
|
||||
</li>
|
||||
<li><p>Pour améliorer notre programme, il faudrait que l'utilisateur puisse rententer de deviner le nombre. Regardez la section <a href="#Boucle-while">Boucle while</a> pour améliorer votre programme.</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
|
||||
</div><div class="inner_cell">
|
||||
<div class="text_cell_render border-box-sizing rendered_html">
|
||||
<h2 id="Pierre-Feuille-Ciseau">Pierre Feuille Ciseau<a class="anchor-link" href="#Pierre-Feuille-Ciseau">¶</a></h2><p>Vous devez connaître le jeu Pierre-Feuille-Ciseau. Deux adversaires s'affrontent choissicent en même temps Pierre, Feuille ou Ciseau.</p>
|
||||
<p>Pierre gagne contre ciseau qui gagne contre feuille qui gagne contre pierre...</p>
|
||||
<p>Nous allons écrire un jeu qui fera s'affronter l'utilisateur contre l'ordinateur.</p>
|
||||
<h3 id="Choix-du-joueur-et-choix-de-l'ordinateur">Choix du joueur et choix de l'ordinateur<a class="anchor-link" href="#Choix-du-joueur-et-choix-de-l'ordinateur">¶</a></h3><ul>
|
||||
<li>Écrire un programme qui demande le choix de l'utilisateur</li>
|
||||
<li>Completer ce programme pour que l'ordinateur choisisse parmi les 3 choix</li>
|
||||
</ul>
|
||||
<h3 id="Comparaison-des-résultats">Comparaison des résultats<a class="anchor-link" href="#Comparaison-des-résultats">¶</a></h3><ul>
|
||||
<li>En utilisant les <a href="#Condition-if">conditions if</a> comparer les deux choix pour determiner qui est le vaincueur.</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
|
||||
</div><div class="inner_cell">
|
||||
<div class="text_cell_render border-box-sizing rendered_html">
|
||||
<h2 id="Deviner-un-nombre-(amélioration)">Deviner un nombre (amélioration)<a class="anchor-link" href="#Deviner-un-nombre-(amélioration)">¶</a></h2><p>Reprenez votre programme qui fait deviner à l'utilisateur un nombre choisi par l'ordinateur. Le soucis de ce programme est que nous n'avons qu'un essai ce qui n'est pas très pratique pour trouver le nombre...</p>
|
||||
<p>Nous allons améliorer ce programme laisser plus de chance à l'utilisateur. Pour cela nous allons faire une boucle <code>while</code> (tant que en français).</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [13]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">a</span> <span class="o">=</span> <span class="mi">11</span>
|
||||
<span class="k">while</span> <span class="n">a</span> <span class="o"><</span> <span class="mi">20</span><span class="p">:</span> <span class="c1">#tant que a est plus petit que 20</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">"un tour"</span><span class="p">)</span>
|
||||
<span class="n">a</span> <span class="o">=</span> <span class="n">a</span> <span class="o">+</span> <span class="mi">1</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">"Fini! Et a vaut "</span><span class="p">,</span> <span class="n">a</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="output_wrapper">
|
||||
<div class="output">
|
||||
|
||||
|
||||
<div class="output_area">
|
||||
|
||||
<div class="prompt"></div>
|
||||
|
||||
|
||||
<div class="output_subarea output_stream output_stdout output_text">
|
||||
<pre>un tour
|
||||
un tour
|
||||
un tour
|
||||
un tour
|
||||
un tour
|
||||
un tour
|
||||
un tour
|
||||
un tour
|
||||
un tour
|
||||
Fini! Et a vaut 20
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
|
||||
</div><div class="inner_cell">
|
||||
<div class="text_cell_render border-box-sizing rendered_html">
|
||||
<p>On peut aussi créer une variable <code>aPasTrouve = True</code> (True en anglais signifie vrai) et dès que l'utilisateur a trouvé la bonne valeur, on change <code>aPasTrouve = False</code> (False en anglais signifie faux).</p>
|
||||
<ul>
|
||||
<li>Écrire cette amélioration du programme.</li>
|
||||
<li>Améliorer votre programme, en comptant le nombre de tentatives.</li>
|
||||
<li><p>On pourra continuer à l'améliorer en comptant et en annonçant le nombre de tentative à la fin.</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
@ -13749,7 +13678,7 @@ Fini! Et a vaut 20
|
|||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [14]:</div>
|
||||
<div class="prompt input_prompt">In [13]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">LISTE_CHAPEAU</span> <span class="o">=</span> <span class="p">[</span><span class="sa">u</span><span class="s2">" </span><span class="se">\n</span><span class="s2"> _===_"</span><span class="p">,</span> <span class="s2">" ___ </span><span class="se">\n</span><span class="s2"> ....."</span><span class="p">,</span> <span class="s2">" _ </span><span class="se">\n</span><span class="s2"> /_\ "</span><span class="p">,</span> <span class="s2">" ___ </span><span class="se">\n</span><span class="s2"> (_*_)"</span><span class="p">]</span>
|
||||
|
@ -13781,6 +13710,30 @@ Fini! Et a vaut 20
|
|||
(" ") </code></pre>
|
||||
</li>
|
||||
</ul>
|
||||
<h3 id="Propositions-d'étapes">Propositions d'étapes<a class="anchor-link" href="#Propositions-d'étapes">¶</a></h3><ul>
|
||||
<li>Recopier les listes de parties</li>
|
||||
<li>Choisir aléatoirement un chapeau</li>
|
||||
<li>Construire aléatoirement une tête '(oeil nez oeil)'</li>
|
||||
<li>Construire aléatoirement les autres parties du corps</li>
|
||||
<li>Construire tout le smiley</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
|
||||
</div><div class="inner_cell">
|
||||
<div class="text_cell_render border-box-sizing rendered_html">
|
||||
<h2 id="Pierre-Feuille-Ciseau">Pierre Feuille Ciseau<a class="anchor-link" href="#Pierre-Feuille-Ciseau">¶</a></h2><p>Vous devez connaître le jeu Pierre-Feuille-Ciseau. Deux adversaires s'affrontent choissicent en même temps Pierre, Feuille ou Ciseau.</p>
|
||||
<p>Pierre gagne contre ciseau qui gagne contre feuille qui gagne contre pierre...</p>
|
||||
<p>Nous allons écrire un jeu qui fera s'affronter l'utilisateur contre l'ordinateur.</p>
|
||||
<h3 id="Choix-du-joueur-et-choix-de-l'ordinateur">Choix du joueur et choix de l'ordinateur<a class="anchor-link" href="#Choix-du-joueur-et-choix-de-l'ordinateur">¶</a></h3><ul>
|
||||
<li>Écrire un programme qui demande le choix de l'utilisateur</li>
|
||||
<li>Completer ce programme pour que l'ordinateur choisisse parmi les 3 choix</li>
|
||||
</ul>
|
||||
<h3 id="Comparaison-des-résultats">Comparaison des résultats<a class="anchor-link" href="#Comparaison-des-résultats">¶</a></h3><ul>
|
||||
<li>En utilisant les <a href="#Condition-if">conditions if</a> comparer les deux choix pour determiner qui est le vaincueur.</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -13845,7 +13798,7 @@ Fini! Et a vaut 20
|
|||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [15]:</div>
|
||||
<div class="prompt input_prompt">In [14]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">codage_a</span> <span class="o">=</span> <span class="nb">ord</span><span class="p">(</span><span class="s2">"a"</span><span class="p">)</span>
|
||||
|
@ -13891,7 +13844,7 @@ Fini! Et a vaut 20
|
|||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [16]:</div>
|
||||
<div class="prompt input_prompt">In [15]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">lettre_100</span> <span class="o">=</span> <span class="nb">chr</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span>
|
||||
|
@ -13935,7 +13888,7 @@ Fini! Et a vaut 20
|
|||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [17]:</div>
|
||||
<div class="prompt input_prompt">In [16]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">message</span> <span class="o">=</span> <span class="s2">"Bonjour"</span>
|
||||
|
@ -13987,7 +13940,7 @@ la lettre r est transformée en le nombre 114
|
|||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [18]:</div>
|
||||
<div class="prompt input_prompt">In [17]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">message_decale</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
@ -14031,7 +13984,7 @@ la lettre r est transformée en le nombre 114
|
|||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [19]:</div>
|
||||
<div class="prompt input_prompt">In [18]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">message_chiffre</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
@ -14073,7 +14026,7 @@ la lettre r est transformée en le nombre 114
|
|||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [20]:</div>
|
||||
<div class="prompt input_prompt">In [19]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">message_chiffre</span> <span class="o">=</span> <span class="s1">''</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">message_chiffre</span><span class="p">)</span> <span class="c1"># join en anglais signifie joindre</span>
|
||||
|
@ -14127,7 +14080,7 @@ la lettre r est transformée en le nombre 114
|
|||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [21]:</div>
|
||||
<div class="prompt input_prompt">In [20]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="s2">"Comment t'appelles tu?"</span><span class="p">)</span>
|
||||
|
@ -14150,8 +14103,8 @@ la lettre r est transformée en le nombre 114
|
|||
|
||||
<div class="output_subarea output_stream output_stdout output_text">
|
||||
<pre>Comment t'appelles tu?
|
||||
bob
|
||||
Ah! Tu t'appelles bob
|
||||
Ivan
|
||||
Ah! Tu t'appelles Ivan
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -14178,17 +14131,17 @@ Ah! Tu t'appelles bob
|
|||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [22]:</div>
|
||||
<div class="prompt input_prompt">In [21]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">a</span> <span class="o">=</span> <span class="mi">2</span>
|
||||
<span class="n">b</span> <span class="o">=</span> <span class="mi">3</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">a</span> <span class="o">></span> <span class="n">b</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">a</span> <span class="o">></span> <span class="n">b</span><span class="p">:</span> <span class="c1"># Si</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">"a plus grand que b"</span><span class="p">)</span>
|
||||
<span class="k">elif</span> <span class="n">a</span> <span class="o">==</span> <span class="n">b</span><span class="p">:</span>
|
||||
<span class="k">elif</span> <span class="n">a</span> <span class="o">==</span> <span class="n">b</span><span class="p">:</span> <span class="c1"># Sinon si</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">"a est égal à b"</span><span class="p">)</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">else</span><span class="p">:</span> <span class="c1"># Sinon</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">"a est plus petit que b"</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
|
@ -14228,7 +14181,7 @@ Ah! Tu t'appelles bob
|
|||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [23]:</div>
|
||||
<div class="prompt input_prompt">In [22]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">a</span> <span class="o">=</span> <span class="mi">2</span>
|
||||
|
@ -14280,7 +14233,7 @@ Finalement a vaut 502
|
|||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [24]:</div>
|
||||
<div class="prompt input_prompt">In [23]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">phrase</span> <span class="o">=</span> <span class="s2">"boujour toi"</span>
|
||||
|
@ -14337,7 +14290,7 @@ Toutes les lettres ont été énumérées
|
|||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [25]:</div>
|
||||
<div class="prompt input_prompt">In [24]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">liste</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"premier element"</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="s2">"coucou"</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="s2">"aie"</span><span class="p">,</span> <span class="mi">0</span><span class="p">]</span>
|
||||
|
@ -14388,13 +14341,13 @@ Tout a été énuméré
|
|||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [26]:</div>
|
||||
<div class="prompt input_prompt">In [25]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">u</span> <span class="o">=</span> <span class="mi">2</span>
|
||||
<span class="k">while</span> <span class="n">u</span> <span class="o"><</span> <span class="mi">19</span><span class="p">:</span>
|
||||
<span class="n">u</span> <span class="o">=</span> <span class="n">u</span> <span class="o">+</span> <span class="mi">3</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="n">u</span><span class="p">)</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">"u vaut "</span><span class="p">,</span> <span class="n">u</span><span class="p">)</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">"u a depassé 50 et vaut"</span><span class="p">,</span> <span class="n">u</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
|
@ -14412,12 +14365,12 @@ Tout a été énuméré
|
|||
|
||||
|
||||
<div class="output_subarea output_stream output_stdout output_text">
|
||||
<pre>5
|
||||
8
|
||||
11
|
||||
14
|
||||
17
|
||||
20
|
||||
<pre>u vaut 5
|
||||
u vaut 8
|
||||
u vaut 11
|
||||
u vaut 14
|
||||
u vaut 17
|
||||
u vaut 20
|
||||
u a depassé 50 et vaut 20
|
||||
</pre>
|
||||
</div>
|
||||
|
@ -14437,7 +14390,7 @@ u a depassé 50 et vaut 20
|
|||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [27]:</div>
|
||||
<div class="prompt input_prompt">In [26]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">aPasTrouve</span> <span class="o">=</span> <span class="kc">True</span> <span class="c1"># True signifie vrai en anglais.</span>
|
||||
|
@ -14467,6 +14420,15 @@ u a depassé 50 et vaut 20
|
|||
|
||||
<div class="output_subarea output_stream output_stdout output_text">
|
||||
<pre>Quelle est la couleur du cheval blanc d'Henri 4?
|
||||
bleu
|
||||
Non! Recommence!
|
||||
Quelle est la couleur du cheval blanc d'Henri 4?
|
||||
vert
|
||||
Non! Recommence!
|
||||
Quelle est la couleur du cheval blanc d'Henri 4?
|
||||
jaune
|
||||
Non! Recommence!
|
||||
Quelle est la couleur du cheval blanc d'Henri 4?
|
||||
blanc
|
||||
Bravo!
|
||||
Voila tu as réussi!
|
||||
|
@ -14477,6 +14439,268 @@ Voila tu as réussi!
|
|||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
|
||||
</div><div class="inner_cell">
|
||||
<div class="text_cell_render border-box-sizing rendered_html">
|
||||
<h2 id="Fonctions">Fonctions<a class="anchor-link" href="#Fonctions">¶</a></h2><p>Une fonction est un morceau de programme qui évitera de coder plusieurs fois la même chose. Quand on programme on dit souvent <code>Si c'est la 3e fois que l'on écrit ces lignes c'est qu'il faut en faire une fonction</code>.</p>
|
||||
<p>Voici différentes utilisation de fonctions.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
|
||||
</div><div class="inner_cell">
|
||||
<div class="text_cell_render border-box-sizing rendered_html">
|
||||
<h3 id="Fonctions-numériques">Fonctions numériques<a class="anchor-link" href="#Fonctions-numériques">¶</a></h3><p>En math, on utilise les fonctions pour décrire les transformations (de nombres le plus souvent).</p>
|
||||
<p>Par exemple:
|
||||
$$ f:x \mapsto 3x + 2$$
|
||||
Cette fonction $f$ prend un nombre, le multiplie par 3 puis ajoute 2. On pourra la coder de la façon suivante:</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [27]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">f</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="mi">3</span><span class="o">*</span><span class="n">x</span><span class="o">+</span><span class="mi">2</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
|
||||
</div><div class="inner_cell">
|
||||
<div class="text_cell_render border-box-sizing rendered_html">
|
||||
<p>On vient de coder cette fonction, on peut ensuite l'utiliser</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [28]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="n">f</span><span class="p">(</span><span class="mi">4</span><span class="p">))</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">"L'image de 2.5 par la fonction f est "</span><span class="p">,</span> <span class="n">f</span><span class="p">(</span><span class="mf">2.5</span><span class="p">))</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">"f(-2) = "</span><span class="p">,</span> <span class="n">f</span><span class="p">(</span><span class="o">-</span><span class="mi">2</span><span class="p">))</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="output_wrapper">
|
||||
<div class="output">
|
||||
|
||||
|
||||
<div class="output_area">
|
||||
|
||||
<div class="prompt"></div>
|
||||
|
||||
|
||||
<div class="output_subarea output_stream output_stdout output_text">
|
||||
<pre>14
|
||||
L'image de 2.5 par la fonction f est 9.5
|
||||
f(-2) = -4
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
|
||||
</div><div class="inner_cell">
|
||||
<div class="text_cell_render border-box-sizing rendered_html">
|
||||
<p>Au collège, on a vu les "programmes de calculs". Ils peuvent eux aussi être codé avec des fonctions.</p>
|
||||
<ul>
|
||||
<li>Choisir un nombre</li>
|
||||
<li>Ajouter 5</li>
|
||||
<li>Diviser par 10</li>
|
||||
</ul>
|
||||
<p>Se code de la façon suivante:</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [29]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">programme</span><span class="p">(</span><span class="n">nombre</span><span class="p">):</span>
|
||||
<span class="n">reponse</span> <span class="o">=</span> <span class="n">nombre</span> <span class="o">+</span> <span class="mi">5</span>
|
||||
<span class="n">reponse</span> <span class="o">=</span> <span class="n">reponse</span> <span class="o">/</span> <span class="mi">10</span>
|
||||
<span class="k">return</span> <span class="n">reponse</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [30]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="n">programme</span><span class="p">(</span><span class="mi">60</span><span class="p">))</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="output_wrapper">
|
||||
<div class="output">
|
||||
|
||||
|
||||
<div class="output_area">
|
||||
|
||||
<div class="prompt"></div>
|
||||
|
||||
|
||||
<div class="output_subarea output_stream output_stdout output_text">
|
||||
<pre>6.5
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
|
||||
</div><div class="inner_cell">
|
||||
<div class="text_cell_render border-box-sizing rendered_html">
|
||||
<h3 id="D'autres-fonctions">D'autres fonctions<a class="anchor-link" href="#D'autres-fonctions">¶</a></h3><p>Les fonctions numériques sont très utilisées en math mais en programmation, on manipule beaucoup d'autres types de fonctions.</p>
|
||||
<p>On pourrait vouloir transformer un texte en un titre entouré de symboles <code>#</code>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [31]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">entoure</span><span class="p">(</span><span class="n">titre</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="s1">'##### '</span> <span class="o">+</span> <span class="n">titre</span> <span class="o">+</span> <span class="s1">' #####'</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [32]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="n">entoure</span><span class="p">(</span><span class="s1">'Mon titre'</span><span class="p">))</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="n">entoure</span><span class="p">(</span><span class="s2">"L'histoire du petit chaperon rouge"</span><span class="p">))</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="n">entoure</span><span class="p">(</span><span class="s1">'Fin'</span><span class="p">))</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="output_wrapper">
|
||||
<div class="output">
|
||||
|
||||
|
||||
<div class="output_area">
|
||||
|
||||
<div class="prompt"></div>
|
||||
|
||||
|
||||
<div class="output_subarea output_stream output_stdout output_text">
|
||||
<pre>##### Mon titre #####
|
||||
##### L'histoire du petit chaperon rouge #####
|
||||
##### Fin #####
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
|
||||
</div><div class="inner_cell">
|
||||
<div class="text_cell_render border-box-sizing rendered_html">
|
||||
<p>On peut même mettre un autre argument (en plus de <code>titre</code>) pour entourer avec autre chose que <code>#</code>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [33]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">entoure</span><span class="p">(</span><span class="n">texte</span><span class="p">,</span> <span class="n">symbole</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="n">symbole</span><span class="o">*</span><span class="mi">4</span> <span class="o">+</span> <span class="s1">' '</span> <span class="o">+</span> <span class="n">texte</span> <span class="o">+</span> <span class="s1">' '</span> <span class="o">+</span> <span class="n">symbole</span><span class="o">*</span><span class="mi">4</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [34]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="n">entoure</span><span class="p">(</span><span class="s1">'La belle au bois dormant'</span><span class="p">,</span> <span class="s1">'-'</span><span class="p">))</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="output_wrapper">
|
||||
<div class="output">
|
||||
|
||||
|
||||
<div class="output_area">
|
||||
|
||||
<div class="prompt"></div>
|
||||
|
||||
|
||||
<div class="output_subarea output_stream output_stdout output_text">
|
||||
<pre>---- La belle au bois dormant ----
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [ ]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -14,9 +14,8 @@
|
|||
"* [Générateur d'excuses](#Générateur-d'excuses)\n",
|
||||
"* [Magic 8 ball](#Magic-8-ball)\n",
|
||||
"* [Deviner un nombre](#Deviner-un-nombre)\n",
|
||||
"* [Pierre feuille ciseau](#Pierre-Feuille-Ciseau)\n",
|
||||
"* [Deviner un nombre (améliorations)](#Deviner-un-nombre)\n",
|
||||
"* [Generateur de Smiley](#Generateur-de-simleys)\n",
|
||||
"* [Pierre feuille ciseau](#Pierre-Feuille-Ciseau)\n",
|
||||
"* [Chiffrement de Cesar](#Chiffrement-de-Cesar)\n",
|
||||
"* [Polynome du 2nd degré](#Polynome-du-2nd-degre)\n",
|
||||
"-----------\n",
|
||||
|
@ -25,7 +24,7 @@
|
|||
"* [Les conditions if](#Condition-if)\n",
|
||||
"* [Les boucles for](#Boucles-for)\n",
|
||||
"* [Les boucles while](#Boucles-while)\n",
|
||||
"* [Les fonctions](#Fonction)\n",
|
||||
"* [Les fonctions](#Fonctions)\n",
|
||||
"------------\n",
|
||||
"Ressouces Python\n",
|
||||
"* [site du zero](http://openclassrooms.com/courses/apprenez-a-programmer-en-python) (cours en ligne)\n",
|
||||
|
@ -258,9 +257,11 @@
|
|||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"* Modifier les lignes précédentes pour se présenter **Bonjour, je m'appelle (Bob)**.\n",
|
||||
"* Modifier les lignes précédentes pour se présenter **Bonjour, je m'appelle Bob** où **Bob** est un nom stocké dans une variable **nom**.\n",
|
||||
"\n",
|
||||
"Pour demander quelque chose à l'utilisateur, on utilise la fonction `input`"
|
||||
"Pour demander quelque chose à l'utilisateur, on utilise la fonction `input`.\n",
|
||||
"\n",
|
||||
"Dans le programme suivant, l'ordinateur pose une question (**Nom du coupable (masculin)?**), attend que l'utilisateur donne une réponse puis réutilise cette réponse pour faire une phrase (**C'est pas moi! c'est ....**)"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -272,8 +273,8 @@
|
|||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Nom du coupable (masculin)? bob\n",
|
||||
"C'est pas moi! C'est bob\n"
|
||||
"Nom du coupable (masculin)? Bob\n",
|
||||
"C'est pas moi! C'est Bob\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
@ -286,7 +287,11 @@
|
|||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"* Finir d'écrire le programme qui permettra de générer une excuse"
|
||||
"* Modifier les lignes précédentes pour que l'ordinateur demande un verbe d'action puis construit une phrase utilisant ce verbe d'action.\n",
|
||||
"\n",
|
||||
"### Proposition d'étapes\n",
|
||||
"\n",
|
||||
"* Finir d'écrire le programme qui demande des informations puis qui génére une excuse"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -340,7 +345,7 @@
|
|||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"'reponse 1'"
|
||||
"'reponse 2'"
|
||||
]
|
||||
},
|
||||
"execution_count": 11,
|
||||
|
@ -356,7 +361,10 @@
|
|||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"* En réutilisant la fonction **input** vue précédement, écrire un programme qui propose de poser une question et qui lui apporte une réponse!"
|
||||
"### Proposition d'étapes\n",
|
||||
"\n",
|
||||
"* L'ordinateur demande une question existentielle.\n",
|
||||
"* L'ordinateur apporte une réponse aléatoire choisie parmis plusieurs réponses"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -367,6 +375,10 @@
|
|||
"\n",
|
||||
"Nous allons maintenant écrire un programme qui va chercher à faire deviner à l'utilisateur un nombre choisi aléatoirement par Python.\n",
|
||||
"\n",
|
||||
"L'ordinateur choisit un nombre aléatoire entre 1 et 20.\n",
|
||||
"L'utilisateur propose un nombre.\n",
|
||||
"L'ordinateur répond si le nombre proposé est plus grand, plus petit ou égal au nombre choisi.\n",
|
||||
"\n",
|
||||
"Pour faire choisir un nombre entier à Python, on utilise la fonction `randint(min,max)` (`randint` signifie random integer = entier aléatoire)"
|
||||
]
|
||||
},
|
||||
|
@ -379,7 +391,7 @@
|
|||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"2\n"
|
||||
"15\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
@ -394,13 +406,70 @@
|
|||
"source": [
|
||||
"Faites executer plusieurs fois cette commande pour remarquer qu'elle ne retourne pas toujours le même résultat.\n",
|
||||
"\n",
|
||||
"### Propositions d'étapes\n",
|
||||
"\n",
|
||||
"* Completer votre programme pour demander une réponse à l'utilisateur *(utilisez `int(input(\"question\"))` plutôt que `input(\"question\")` pour que la réponse soit transformée en entier)*\n",
|
||||
"\n",
|
||||
"* Regarder la section sur [Condition if](#Condition-if) pour adapter l'exemple et savoir lequel du nombre choisi par l'ordinateur ou de l'utilisateur est le plus grand.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"* Écrire le programme final qui fait choisir un nombre à l'ordinateur, qui demande un nombre à l'utilisateur puis qui dit si le nombre donné par l'utilisateur est plus grand ou plus petit.\n",
|
||||
"\n",
|
||||
"* Pour améliorer notre programme, il faudrait que l'utilisateur puisse rententer de deviner le nombre. Regardez la section [Boucle while](#Boucle-while) pour améliorer votre programme."
|
||||
"* Pour améliorer notre programme, il faudrait que l'utilisateur puisse rententer de deviner le nombre. Regardez la section [Boucle while](#Boucle-while) pour améliorer votre programme.\n",
|
||||
"\n",
|
||||
"* On pourra continuer à l'améliorer en comptant et en annonçant le nombre de tentative à la fin."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Generateur de simleys\n",
|
||||
"\n",
|
||||
"Pour ce projet, nous allons programmer un générateur de smileys. Nous allons définir quelquels éléments de ce smiley et l'ordinateur choisira aléatoirement parmi ces éléments pour créer le smiley.\n",
|
||||
"\n",
|
||||
"Voici les éléments du smiley."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 13,
|
||||
"metadata": {
|
||||
"scrolled": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"LISTE_CHAPEAU = [u\" \\n _===_\", \" ___ \\n .....\", \" _ \\n /_\\ \", \" ___ \\n (_*_)\"]\n",
|
||||
"LISTE_NEZ = [u\",\", \".\", \"_\", \" \"]\n",
|
||||
"LISTE_OEIL = [u\".\", \"o\", \"O\", \"-\"]\n",
|
||||
"LISTE_GAUCHE_CORPS_HAUT = [u\" \", \"\\\\\", \" \", \" \"]\n",
|
||||
"LISTE_GAUCHE_CORPS_BAS = [u\"<\", \" \", \"/\", \" \"]\n",
|
||||
"LISTE_DROITE_CORPS_HAUT = [u\" \", \"/\", \" \", \" \"]\n",
|
||||
"LISTE_DROITE_CORPS_BAS = [u\">\", \" \", \"\\\\\", \" \"]\n",
|
||||
"LISTE_TORSE = [u\" : \", \"] [\", \"> <\", \" \"]\n",
|
||||
"LISTE_BASE = [u\" : \", '\" \"', \"___\", \" \"]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"\n",
|
||||
"* Le programme qui séléctionnera aléatoirement des éléments pour construire un smiley de ce type:\n",
|
||||
"\n",
|
||||
" _\n",
|
||||
" /_\\ \n",
|
||||
" (o O)\n",
|
||||
" <( : ) \n",
|
||||
" (\" \") \n",
|
||||
" \n",
|
||||
"### Propositions d'étapes\n",
|
||||
"\n",
|
||||
"* Recopier les listes de parties\n",
|
||||
"* Choisir aléatoirement un chapeau\n",
|
||||
"* Construire aléatoirement une tête '(oeil nez oeil)'\n",
|
||||
"* Construire aléatoirement les autres parties du corps\n",
|
||||
"* Construire tout le smiley"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -425,100 +494,6 @@
|
|||
"* En utilisant les [conditions if](#Condition-if) comparer les deux choix pour determiner qui est le vaincueur."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Deviner un nombre (amélioration)\n",
|
||||
"\n",
|
||||
"Reprenez votre programme qui fait deviner à l'utilisateur un nombre choisi par l'ordinateur. Le soucis de ce programme est que nous n'avons qu'un essai ce qui n'est pas très pratique pour trouver le nombre...\n",
|
||||
"\n",
|
||||
"Nous allons améliorer ce programme laisser plus de chance à l'utilisateur. Pour cela nous allons faire une boucle `while` (tant que en français)."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 13,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"un tour\n",
|
||||
"un tour\n",
|
||||
"un tour\n",
|
||||
"un tour\n",
|
||||
"un tour\n",
|
||||
"un tour\n",
|
||||
"un tour\n",
|
||||
"un tour\n",
|
||||
"un tour\n",
|
||||
"Fini! Et a vaut 20\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"a = 11\n",
|
||||
"while a < 20: #tant que a est plus petit que 20\n",
|
||||
" print(\"un tour\")\n",
|
||||
" a = a + 1\n",
|
||||
"print(\"Fini! Et a vaut \", a)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"On peut aussi créer une variable `aPasTrouve = True` (True en anglais signifie vrai) et dès que l'utilisateur a trouvé la bonne valeur, on change `aPasTrouve = False` (False en anglais signifie faux).\n",
|
||||
"\n",
|
||||
"* Écrire cette amélioration du programme.\n",
|
||||
"* Améliorer votre programme, en comptant le nombre de tentatives."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Generateur de simleys\n",
|
||||
"\n",
|
||||
"Pour ce projet, nous allons programmer un générateur de smileys. Nous allons définir quelquels éléments de ce smiley et l'ordinateur choisira aléatoirement parmi ces éléments pour créer le smiley.\n",
|
||||
"\n",
|
||||
"Voici les éléments du smiley."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 14,
|
||||
"metadata": {
|
||||
"scrolled": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"LISTE_CHAPEAU = [u\" \\n _===_\", \" ___ \\n .....\", \" _ \\n /_\\ \", \" ___ \\n (_*_)\"]\n",
|
||||
"LISTE_NEZ = [u\",\", \".\", \"_\", \" \"]\n",
|
||||
"LISTE_OEIL = [u\".\", \"o\", \"O\", \"-\"]\n",
|
||||
"LISTE_GAUCHE_CORPS_HAUT = [u\" \", \"\\\\\", \" \", \" \"]\n",
|
||||
"LISTE_GAUCHE_CORPS_BAS = [u\"<\", \" \", \"/\", \" \"]\n",
|
||||
"LISTE_DROITE_CORPS_HAUT = [u\" \", \"/\", \" \", \" \"]\n",
|
||||
"LISTE_DROITE_CORPS_BAS = [u\">\", \" \", \"\\\\\", \" \"]\n",
|
||||
"LISTE_TORSE = [u\" : \", \"] [\", \"> <\", \" \"]\n",
|
||||
"LISTE_BASE = [u\" : \", '\" \"', \"___\", \" \"]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"* Le programme qui séléctionnera aléatoirement des éléments pour construire un smiley de ce type:\n",
|
||||
"\n",
|
||||
" _\n",
|
||||
" /_\\ \n",
|
||||
" (o O)\n",
|
||||
" <( : ) \n",
|
||||
" (\" \") "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
|
@ -579,7 +554,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 15,
|
||||
"execution_count": 14,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
@ -610,7 +585,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 16,
|
||||
"execution_count": 15,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
@ -640,7 +615,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 17,
|
||||
"execution_count": 16,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
@ -677,7 +652,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 18,
|
||||
"execution_count": 17,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
@ -707,7 +682,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 19,
|
||||
"execution_count": 18,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
@ -734,7 +709,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 20,
|
||||
"execution_count": 19,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
@ -774,7 +749,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 21,
|
||||
"execution_count": 20,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
@ -782,8 +757,8 @@
|
|||
"output_type": "stream",
|
||||
"text": [
|
||||
"Comment t'appelles tu?\n",
|
||||
"bob\n",
|
||||
"Ah! Tu t'appelles bob\n"
|
||||
"Ivan\n",
|
||||
"Ah! Tu t'appelles Ivan\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
@ -811,7 +786,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 22,
|
||||
"execution_count": 21,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
@ -826,11 +801,11 @@
|
|||
"a = 2\n",
|
||||
"b = 3\n",
|
||||
"\n",
|
||||
"if a > b: \n",
|
||||
"if a > b: # Si\n",
|
||||
" print(\"a plus grand que b\")\n",
|
||||
"elif a == b:\n",
|
||||
"elif a == b: # Sinon si\n",
|
||||
" print(\"a est égal à b\")\n",
|
||||
"else:\n",
|
||||
"else: # Sinon\n",
|
||||
" print(\"a est plus petit que b\")"
|
||||
]
|
||||
},
|
||||
|
@ -847,7 +822,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 23,
|
||||
"execution_count": 22,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
@ -882,7 +857,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 24,
|
||||
"execution_count": 23,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
@ -922,7 +897,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 25,
|
||||
"execution_count": 24,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
@ -961,19 +936,19 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 26,
|
||||
"execution_count": 25,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"5\n",
|
||||
"8\n",
|
||||
"11\n",
|
||||
"14\n",
|
||||
"17\n",
|
||||
"20\n",
|
||||
"u vaut 5\n",
|
||||
"u vaut 8\n",
|
||||
"u vaut 11\n",
|
||||
"u vaut 14\n",
|
||||
"u vaut 17\n",
|
||||
"u vaut 20\n",
|
||||
"u a depassé 50 et vaut 20\n"
|
||||
]
|
||||
}
|
||||
|
@ -982,7 +957,7 @@
|
|||
"u = 2\n",
|
||||
"while u < 19:\n",
|
||||
" u = u + 3\n",
|
||||
" print(u)\n",
|
||||
" print(\"u vaut \", u)\n",
|
||||
"print(\"u a depassé 50 et vaut\", u)"
|
||||
]
|
||||
},
|
||||
|
@ -995,13 +970,22 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 27,
|
||||
"execution_count": 26,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Quelle est la couleur du cheval blanc d'Henri 4?\n",
|
||||
"bleu\n",
|
||||
"Non! Recommence!\n",
|
||||
"Quelle est la couleur du cheval blanc d'Henri 4?\n",
|
||||
"vert\n",
|
||||
"Non! Recommence!\n",
|
||||
"Quelle est la couleur du cheval blanc d'Henri 4?\n",
|
||||
"jaune\n",
|
||||
"Non! Recommence!\n",
|
||||
"Quelle est la couleur du cheval blanc d'Henri 4?\n",
|
||||
"blanc\n",
|
||||
"Bravo!\n",
|
||||
|
@ -1021,6 +1005,193 @@
|
|||
" print(\"Non! Recommence!\")\n",
|
||||
"print(\"Voila tu as réussi!\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Fonctions\n",
|
||||
"\n",
|
||||
"Une fonction est un morceau de programme qui évitera de coder plusieurs fois la même chose. Quand on programme on dit souvent `Si c'est la 3e fois que l'on écrit ces lignes c'est qu'il faut en faire une fonction`.\n",
|
||||
"\n",
|
||||
"Voici différentes utilisation de fonctions."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### Fonctions numériques\n",
|
||||
"\n",
|
||||
"En math, on utilise les fonctions pour décrire les transformations (de nombres le plus souvent). \n",
|
||||
"\n",
|
||||
"Par exemple:\n",
|
||||
"$$ f:x \\mapsto 3x + 2$$\n",
|
||||
"Cette fonction $f$ prend un nombre, le multiplie par 3 puis ajoute 2. On pourra la coder de la façon suivante:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 27,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def f(x):\n",
|
||||
" return 3*x+2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"On vient de coder cette fonction, on peut ensuite l'utiliser"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 28,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"14\n",
|
||||
"L'image de 2.5 par la fonction f est 9.5\n",
|
||||
"f(-2) = -4\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"print(f(4))\n",
|
||||
"print(\"L'image de 2.5 par la fonction f est \", f(2.5))\n",
|
||||
"print(\"f(-2) = \", f(-2))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Au collège, on a vu les \"programmes de calculs\". Ils peuvent eux aussi être codé avec des fonctions.\n",
|
||||
"\n",
|
||||
"- Choisir un nombre\n",
|
||||
"- Ajouter 5\n",
|
||||
"- Diviser par 10\n",
|
||||
"\n",
|
||||
"Se code de la façon suivante:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 29,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def programme(nombre):\n",
|
||||
" reponse = nombre + 5\n",
|
||||
" reponse = reponse / 10\n",
|
||||
" return reponse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 30,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"6.5\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"print(programme(60))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### D'autres fonctions\n",
|
||||
"\n",
|
||||
"Les fonctions numériques sont très utilisées en math mais en programmation, on manipule beaucoup d'autres types de fonctions.\n",
|
||||
"\n",
|
||||
"On pourrait vouloir transformer un texte en un titre entouré de symboles `#`."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 31,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def entoure(titre):\n",
|
||||
" return '##### ' + titre + ' #####'"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 32,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"##### Mon titre #####\n",
|
||||
"##### L'histoire du petit chaperon rouge #####\n",
|
||||
"##### Fin #####\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"print(entoure('Mon titre'))\n",
|
||||
"print(entoure(\"L'histoire du petit chaperon rouge\"))\n",
|
||||
"print(entoure('Fin'))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"On peut même mettre un autre argument (en plus de `titre`) pour entourer avec autre chose que `#`."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 33,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def entoure(texte, symbole):\n",
|
||||
" return symbole*4 + ' ' + texte + ' ' + symbole*4"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 34,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"---- La belle au bois dormant ----\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"print(entoure('La belle au bois dormant', '-'))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
|
|
Loading…
Reference in New Issue