python:bases:controle

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
python:bases:controle [2022/01/29 12:01] – [Pour aller plus loin ...] philpython:bases:controle [2022/08/16 09:02] (Version actuelle) phil
Ligne 1: Ligne 1:
-{{ :suivant.png?nolink&30|}} {{ :retour.png?nolink&30|}} [[:python:accueilpython|{{ :iconemaison.jpg?nolink&30|Sommaire Python et microPython}}]]+{{ :suivant.png?nolink&30|}} [[python:bases:variables|{{ :retour.png?nolink&30|Variables, constantes}}]] [[:python:accueilpython|{{ :iconemaison.jpg?nolink&30|Sommaire Python et microPython}}]]
  
 ===== Python - Instructions de contrôle ===== ===== Python - Instructions de contrôle =====
  
-[Mise à jour le :24/7/2021]+[Mise à jour le :3/7/2022]
  
   * **Sources**    * **Sources** 
Ligne 16: Ligne 16:
   * **Mots-clés** : opérateurs de comparaison, tests, boucles   * **Mots-clés** : opérateurs de comparaison, tests, boucles
  
-<note important>Les mots ci-dessous sont dits "réservés". Ils ne peuvent pas être utilisés comme nom de variable. Les mots __soulignés__ sont une nouveauté de Python 3. Les mots en **gras** sont utilisés dans cette page.</note>+<callout type="warning" icon="true">Les mots ci-dessous sont dits "réservés". Ils ne peuvent pas être utilisés comme nom de variable. Les mots __soulignés__ sont une nouveauté de Python 3. Les mots en **gras** sont utilisés dans cette page.</callout>
  
 |  **and**    |  **continue**    finally  |  is            |  raise         | |  **and**    |  **continue**    finally  |  is            |  raise         |
Ligne 46: Ligne 46:
 </code> </code>
  
-<note important>Dans une structure** if elif else** un seul bloc d'instruction est exécuté.</note>+<callout type="warning" icon="true">Dans une structure** if elif else** un seul bloc d'instruction est exécuté.</callout>
  
   * **Mécanisme d'évaluation d'un test**   * **Mécanisme d'évaluation d'un test**
-<note important>Un test peut contenir n'importe quelle expression !</note>+<callout type="warning" icon="true">Un test peut contenir n'importe quelle expression !</callout>
  
 L'expression contenue dans le test est exécutée. Elle produit un objet sur lequel Python appelle la fonction built-in **bool**(//objet//). L'expression contenue dans le test est exécutée. Elle produit un objet sur lequel Python appelle la fonction built-in **bool**(//objet//).
Ligne 60: Ligne 60:
       * si <nowiki>__</nowiki>**len**<nowiki>__</nowiki>() retourne autre chose alors **True**       * si <nowiki>__</nowiki>**len**<nowiki>__</nowiki>() retourne autre chose alors **True**
  
-<note important>Un objet **vide** est considéré comme **faux**. Un objet **non-vide** est considéré comme **vrai**.</note>+<callout type="warning" icon="true">Un objet **vide** est considéré comme **faux**. Un objet **non-vide** est considéré comme **vrai**.</callout>
  
 // Exemples d'expressions // // Exemples d'expressions //
Ligne 115: Ligne 115:
 |  **==** |  **>**  |  **<**  |  **>=**          **<=**          **!=**  |  **in**       | |  **==** |  **>**  |  **<**  |  **>=**          **<=**          **!=**  |  **in**       |
  
-<note important>Ne pas confondre l'opérateur d'égalité **==** avec l'opérateur d'affectation **=**</note>+<callout type="warning" icon="true">Ne pas confondre l'opérateur d'égalité **==** avec l'opérateur d'affectation **=**</callout>
  
 //Exemple// //Exemple//
Ligne 145: Ligne 145:
 </code> </code>
  
-<note important>On dit du code décalé vers la droite qu'il est **indenté**. En Python l'indentation est **fondamentale**. Elle fait intégralement partie de la syntaxe du langage.</note>+<callout type="warning" icon="true">On dit du code décalé vers la droite qu'il est **indenté**. En Python l'indentation est **fondamentale**. Elle fait intégralement partie de la syntaxe du langage.</callout>
  
 // Exemple 1 // : comparaison d'une variable à une valeur // Exemple 1 // : comparaison d'une variable à une valeur
Ligne 169: Ligne 169:
 === 2.2 if ... elif ... else ...=== === 2.2 if ... elif ... else ...===
  
-<note tip>On utilise **elif** lorsqu'il est nécessaire d'enchaîner plusieurs tests.</note+<callout type="tip" icon="true">On utilise **elif** lorsqu'il est nécessaire d'enchaîner plusieurs tests.</callout>
  
 //Syntaxe// //Syntaxe//
Ligne 181: Ligne 181:
 </code> </code>
  
-<note>**elif** est une **concaténation** de **else if**. On peut utiliser autant de elif que nécessaire.</note>+<callout type="primary" icon="true">**elif** est une **concaténation** de **else if**. On peut utiliser autant de elif que nécessaire.</callout>
  
 //Exemples// //Exemples//
Ligne 206: Ligne 206:
 === 2.3 L'instruction pass === === 2.3 L'instruction pass ===
  
-<note tip>Python ne disposant pas d'accolades pour délimiter les blocs de code, il existe une instruction** pass**, qui ne fait rien. </note>+<callout type="tip" icon="true">Python ne disposant pas d'accolades pour délimiter les blocs de code, il existe une instruction** pass**, qui ne fait rien.</callout>
  
 //Exemple// //Exemple//
Ligne 223: Ligne 223:
 === 3.1 La boucle while === === 3.1 La boucle while ===
  
-<note tip>On utilise une boucle **while** lorsqu'on ne connait pas le nombre de répétition à effectuer. Les instructions du corps de la boucle sont exécutées tant qu'une condition est vraie.</note>+<callout type="tip" icon="true">On utilise une boucle **while** lorsqu'on ne connait pas le nombre de répétition à effectuer. Les instructions du corps de la boucle sont exécutées tant qu'une condition est vraie.</callout>
  
  
Ligne 233: Ligne 233:
 </code> </code>
  
-<note warning>Afin que la boucle puisse s'interrompre, il faut veiller à faire évoluer dans le corps de la boucle au moins une des variables intervenant dans la condition.</note>+<callout icon="fa fa-hand-stop-o" color="red" title="ATTENTION">Afin que la boucle puisse s'interrompre, il faut veiller à faire évoluer dans le corps de la boucle au moins une des variables intervenant dans la condition.</callout>
  
 //Exemple 1// //Exemple 1//
Ligne 251: Ligne 251:
 === 3.2 La boucle for === === 3.2 La boucle for ===
  
-<note tip>On utilise une boucle **for** lorsqu'on connait le nombre de répétitions à effectuer. Elle est utilisée pour **parcourir** une séquence (une **liste**, un **tuple**, un **dictionnaire**, un **ensemble** ou une **chaîne**)</note>+<callout type="tip" icon="true">On utilise une boucle **for** lorsqu'on connait le nombre de répétitions à effectuer. Elle est utilisée pour **parcourir** une séquence (une **liste**, un **tuple**, un **dictionnaire**, un **ensemble** ou une **chaîne**)</callout>
  
   * **Cas 1 : itérer sur une séquence** (**for** //element// **in** //sequence//)   * **Cas 1 : itérer sur une séquence** (**for** //element// **in** //sequence//)
Ligne 274: Ligne 274:
   * **Cas 2 : répéter l'exécution du code** (**for** et la fonction **range()**)   * **Cas 2 : répéter l'exécution du code** (**for** et la fonction **range()**)
  
-<note>Pour répéter l'exécution de code un nombre de fois spécifié, on utilise la fonction range(). +<callout type="primary" icon="true">Pour répéter l'exécution de code un nombre de fois spécifié, on utilise la fonction range(). 
-La fonction range() renvoie une séquence de nombres, commençant par 0, incrémente de 1 (par défaut) et se termine par un nombre spécifié.</note>+La fonction range() renvoie une séquence de nombres, commençant par 0, incrémente de 1 (par défaut) et se termine par un nombre spécifié.</callout>
  
 //Syntaxe// //Syntaxe//
Ligne 316: Ligne 316:
   * **break**   * **break**
  
-<note>Le mot-clé **break** permet d'**interrompre** une boucle.</note>+<callout type="primary" icon="true">Le mot-clé **break** permet d'**interrompre** une boucle.</callout>
  
 //Exemple// //Exemple//
Ligne 330: Ligne 330:
   * **continue**   * **continue**
  
-<note>Le mot-clé **continue** permet de **poursuivre l'exécution** d'une boucle en repartant du //while// ou du //for//.</note>+<callout type="primary" icon="true">Le mot-clé **continue** permet de **poursuivre l'exécution** d'une boucle en repartant du //while// ou du //for//.</callout>
  
 //Exemple// //Exemple//
Ligne 347: Ligne 347:
   * **pass**   * **pass**
  
-<note tip>Python ne disposant pas d'accolades pour délimiter les blocs de code, il existe une instruction** pass**, qui ne fait rien. </note> +<callout type="tip" icon="true">Python ne disposant pas d'accolades pour délimiter les blocs de code, il existe une instruction** pass**, qui ne fait rien.</callout>
 //Exemple// //Exemple//
 <code python *.py> <code python *.py>
Ligne 362: Ligne 361:
 ===3.4 La fonction built-in enumerate() === ===3.4 La fonction built-in enumerate() ===
  
-<note tip>enumerate permet de boucler sur un iterable tout en disposant d'un compteur.</note>+<callout type="tip" icon="true">enumerate permet de boucler sur un iterable tout en disposant d'un compteur.</callout>
  
 // Exemples// // Exemples//
Ligne 424: Ligne 423:
 === Pour aller plus loin ... === === Pour aller plus loin ... ===
   * <html><a href="https://medium.com/techtofreedom/for-else-a-weird-but-useful-feature-in-python-2076d8dafad1" target="_blank">For-Else: A Weird but Useful Feature in Python</a></html>   * <html><a href="https://medium.com/techtofreedom/for-else-a-weird-but-useful-feature-in-python-2076d8dafad1" target="_blank">For-Else: A Weird but Useful Feature in Python</a></html>
 +  * <html><a href="https://realpython.com/python-all/#evaluating-the-truth-value-of-items-in-iterables" target="_blank">Python's all(): Check Your Iterables for Truthiness</a></html>
 +  * <html><a href="https://realpython.com/python-do-while/" target="_blank">How Can You Emulate Do-While Loops in Python?</a></html>
 ==== Résumé ==== ==== Résumé ====
   * Les conditions sont identifiées par les mots-clés **if** (si), **elif** (sinon si) et **else** (sinon).   * Les conditions sont identifiées par les mots-clés **if** (si), **elif** (sinon si) et **else** (sinon).
  • python/bases/controle.1643454116.txt.gz
  • Dernière modification : 2022/01/29 12:01
  • de phil