Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révisionLes deux révisions suivantes |
python:bases:controle [2022/07/03 10:57] – phil | python:bases:controle [2022/08/09 12:02] – [3.4 La fonction built-in enumerate()] phil |
---|
* **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 | |
</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//). |
* 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 // |
| **==** | **>** | **<** | **>=** | **<=** | **!=** | **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// |
</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 |
=== 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// |
</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// |
=== 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// |
=== 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> |
| |
| |
=== 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//) |
* **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// |
* **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// |
* **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// |
* **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> |
===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// |