1
0
Bifurcation 0
miroir de https://github.com/PAPAMICA/Wiki-Tech.io.git synchronisé 2024-11-27 19:50:37 +01:00
Wiki-Tech.io/Scripting/Python/Conditions-Boucles.html
2021-06-08 10:07:39 +00:00

127 lignes
7,9 Kio
HTML

<!--
title: Python - Conditions et boucles
description: IF, ELSE, ELIF, WHILE, Comparaisons, etc…
published: true
date: 2021-06-08T10:07:37.487Z
tags:
editor: ckeditor
dateCreated: 2021-05-24T16:12:00.664Z
-->
<figure class="image image_resized" style="width:58.86%;"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/f/f8/Python_logo_and_wordmark.svg/1200px-Python_logo_and_wordmark.svg.png" alt="Fichier:Python logo and wordmark.svg — Wikipédia"></figure>
<h1>Structures conditionnelles</h1>
<h2>IF</h2>
<p>La structure conditionnelle <strong>IF</strong> permet de faire un <strong>choix</strong>. Cela permet de rendre le code <i>intelligent</i>.<br>Dans un langage courant, cela donnerait ceci :</p>
<pre><code class="language-plaintext">Si &lt;réfrigérateur_vide = 1&gt;
Alors Afficher "Faire des courses"
Fin si</code></pre>
<p>En python, cela donnerait :</p>
<pre><code class="language-python">refrigerateur_vide = 1
if refrigerateur_vide == 1:
print "Faire des courses"</code></pre>
<p>&nbsp;</p>
<blockquote>
<p><strong>Attention :</strong> Dans d'autres langages de programmation tel que le <strong>C#</strong>, la fonction est délimitée par <strong>{}</strong>. En python, la fonction commence par <strong>:</strong> et c'est l'indentation qui délimite.</p>
<p>Pour éviter les erreurs, les indentations (généralement faites automatiquement) doivent être 4 espaces et non une tabulation.</p>
</blockquote>
<p><i>Démonstration :</i></p>
<pre><code class="language-python">refrigerateur_vide = 1
if refrigerateur_vide == 1: #Je débute le IF
print "Aller faire des courses" # Je suis dans le IF
print "Je suis encore de le IF"
print "Ici aussi"
print "Ici non, mon IF est terminé"</code></pre>
<p>&nbsp;</p>
<h2>IF ELSE</h2>
<p>Je peux également grâce au <strong>ELSE</strong> définir une action si ma condition est fausse.</p>
<pre><code class="language-python">refrigerateur_vide = 1
if refrigerateur_videv == 1: # Si le frigo est vide, alors ...
print "Faire des courses"
else: # Sinon ...
print "Ne pas faire de courses"</code></pre>
<p>&nbsp;</p>
<h2>ELIF</h2>
<p>Cette condition permet d'avoir <strong>plusieurs conditions</strong> dans une clause IF.</p>
<pre><code class="language-python">refrigerateur_vide = 1
if refrigerateur_vide == 1: # Si le frigo est vide, alors ...
print "Faire des courses"
elif refrigerateur_vide == 0.5: # Si le frigo est presque vide, alors ...
print "Faire de petites courses"
else: # Sinon ...
print "Ne pas faire de courses"</code></pre>
<p>&nbsp;</p>
<h2>Opérateurs de comparaison</h2>
<figure class="table">
<table style="background-color:rgb(255, 255, 255);">
<thead>
<tr>
<th style="background-color:rgb(239, 241, 243);border-bottom:2px solid rgb(158, 158, 158);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;"><strong>Opérateur</strong></th>
<th style="background-color:rgb(239, 241, 243);border-bottom:2px solid rgb(158, 158, 158);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;"><strong>Signification</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td style="border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;text-align:center;">&lt;</td>
<td style="border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;">Strictement inférieur à</td>
</tr>
<tr>
<td style="border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;text-align:center;">&gt;</td>
<td style="border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;">Strictement supérieur à</td>
</tr>
<tr>
<td style="border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;text-align:center;">&lt;=</td>
<td style="border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;">Inférieur ou égal à</td>
</tr>
<tr>
<td style="border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;text-align:center;">&gt;=</td>
<td style="border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;">Supérieur ou égal à</td>
</tr>
<tr>
<td style="border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;text-align:center;">==</td>
<td style="border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;">Égal à</td>
</tr>
<tr>
<td style="border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;text-align:center;">!=</td>
<td style="border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;">Différent de</td>
</tr>
</tbody>
</table>
</figure>
<blockquote>
<p><strong>Attention :</strong> Pour tester l'égalité de deux valeurs, on utilise <strong>==</strong> et non <strong>=</strong> qui lui sert à l'affectation de valeurs</p>
</blockquote>
<blockquote>
<p><strong>Info :</strong> Une condition renvoie uniquement deux valeurs : <strong>True</strong> ou <strong>False</strong> (vrai ou faux). Si le test est correcte, il renverra <strong>True</strong>, sinon <strong>False</strong>.</p>
</blockquote>
<p>&nbsp;</p>
<h2>Plusieurs conditions pour une clause IF</h2>
<p>Si un test à besoin de plusieurs conditions pour être vrai, on peut combiner plusieurs conditions pour une seule clause IF.</p>
<pre><code class="language-python">permis=False
majeur=True
if permis == True and majeur == True: # Pour que je puisse conduire, il faut que j'ai mon permis et que je sois majeur
print "Je peux conduire"
else:
print "Je ne peux pas conduire"</code></pre>
<p>Si un test a besoin qu'une condition soit vraie parmi plusieurs, on peut utiliser un “or”.</p>
<pre><code class="language-python">vote_gagne = False
dictature = True
if (vote_gagne or dictature) == True:
print("Je dirige le pays")</code></pre>
<h1>Les boucles</h1>
<h2>La boucle <strong>WHILE</strong></h2>
<p>La boucle <strong>while</strong> (ou tant que) répète une série d'instructions tant qu'une condition n'est pas vraie.<br>Syntaxe :</p>
<pre><code class="language-python">while condition:
instruction1
instruction2
...</code></pre>
<p><i>Exemple : Je veux répéter une instruction tant que i n'est pas égal à 10 :</i></p>
<pre><code class="language-python">i = 0
while 1 != 10:
print ("i ne vaut pas 10")
i+=1</code></pre>
<p>&nbsp;</p>
<blockquote>
<p><strong>Attention</strong> : Il ne faut pas oublier d'incrémenter le compteur, sinon la boucle sera infinie !</p>
</blockquote>
<p>&nbsp;</p>