| @@ -1,5 +1,5 @@ | |||||
| La ligne de commande | La ligne de commande | ||||
| =================== | |||||
| ==================== | |||||
| Pourquoi la ligne de commande? | Pourquoi la ligne de commande? | ||||
| ------------------------------ | ------------------------------ | ||||
| @@ -34,29 +34,29 @@ et fait une erreur de syntaxe | |||||
| if / else | if / else | ||||
| --------- | --------- | ||||
| ```python | |||||
| a = 3 | |||||
| b = 4 | |||||
| if a == b: | |||||
| print("a et b sont égaux") | |||||
| else: | |||||
| print("a et b sont différent") | |||||
| ``` | |||||
| .. code-block:: | |||||
| a = 3 | |||||
| b = 4 | |||||
| if a == b: | |||||
| print("a et b sont égaux") | |||||
| else: | |||||
| print("a et b sont différent") | |||||
| if / elif | if / elif | ||||
| -------- | |||||
| ```python | |||||
| if age < 10: | |||||
| print("inférieur à dix") | |||||
| elif 10 <= age < 20: | |||||
| print("âge entre 10 et 20") | |||||
| elif 20 <= age < 40: | |||||
| print("âge entre 20 et 40") | |||||
| else: | |||||
| print("âge supérieur à 40") | |||||
| ``` | |||||
| --------- | |||||
| .. code-block:: | |||||
| if age < 10: | |||||
| print("inférieur à dix") | |||||
| elif 10 <= age < 20: | |||||
| print("âge entre 10 et 20") | |||||
| elif 20 <= age < 40: | |||||
| print("âge entre 20 et 40") | |||||
| else: | |||||
| print("âge supérieur à 40") | |||||
| On peut mettre autont de `elif` qu'on veut! | On peut mettre autont de `elif` qu'on veut! | ||||
| Le derier `else` s'éxécute en dernier | Le derier `else` s'éxécute en dernier | ||||
| @@ -65,29 +65,27 @@ Le derier `else` s'éxécute en dernier | |||||
| while | while | ||||
| ----- | ----- | ||||
| Répéter tant qu'une condition est vraie | |||||
| Répéter tant qu'une condition est vraie:: | |||||
| ```python | |||||
| i = 0 | |||||
| while i < 3: | |||||
| print(i) | |||||
| i = i + 1 | |||||
| ``` | |||||
| i = 0 | |||||
| while i < 3: | |||||
| print(i) | |||||
| i = i + 1 | |||||
| ``` | |||||
| 0 | |||||
| 1 | |||||
| 2 | |||||
| ``` | |||||
| .. code-block:: console | |||||
| 0 | |||||
| 1 | |||||
| 2 | |||||
| Notre première boucle infinie | Notre première boucle infinie | ||||
| ----------------------------- | ----------------------------- | ||||
| ```python | |||||
| while True: | |||||
| print("spam!") | |||||
| ``` | |||||
| .. code-block:: | |||||
| while True: | |||||
| print("spam!") | |||||
| CTRL-C pour interrompre | CTRL-C pour interrompre | ||||
| @@ -95,21 +93,18 @@ CTRL-C pour interrompre | |||||
| Combiner while et if | Combiner while et if | ||||
| -------------------- | -------------------- | ||||
| On peut "sortir" de la boucle `while` avec `break` | |||||
| On peut "sortir" de la boucle ``while`` avec ``break``:: | |||||
| i = 0 | |||||
| while True: | |||||
| i = i + 1 | |||||
| print(i) | |||||
| if i > 3: | |||||
| break | |||||
| ```python | |||||
| i = 0 | |||||
| while True: | |||||
| i = i + 1 | |||||
| print(i) | |||||
| if i > 3: | |||||
| break | |||||
| ``` | |||||
| .. code-block:: text | |||||
| ``` | |||||
| 1 | |||||
| 2 | |||||
| 3 | |||||
| 4 | |||||
| ``` | |||||
| 1 | |||||
| 2 | |||||
| 3 | |||||
| 4 | |||||
| @@ -19,7 +19,7 @@ On fait deviner un nombre à l'utilisateur, en affichant 'trop grand', 'trop pet | |||||
| jusqu'à ce qu'il trouve la valeur exacte. | jusqu'à ce qu'il trouve la valeur exacte. | ||||
| Squelette | Squelette | ||||
| -------- | |||||
| --------- | |||||
| // TODO: | // TODO: | ||||
| * explication du Squelette | * explication du Squelette | ||||
| @@ -1,8 +1,8 @@ | |||||
| Fonctions | Fonctions | ||||
| ========= | ========= | ||||
| Fonction sans argument | |||||
| --------------------- | |||||
| Fonctions sans argument | |||||
| ----------------------- | |||||
| Définition:: | Définition:: | ||||
| @@ -11,9 +11,10 @@ Définition:: | |||||
| * avec `def` | * avec `def` | ||||
| * avec un `:` à la fin et un _bloc indenté_ (appelé le "corps") | |||||
| * avec un `:` à la fin et un *bloc indenté* (appelé le "corps") | |||||
| Appel:: | Appel:: | ||||
| >>> dire_bonjour() | >>> dire_bonjour() | ||||
| Bonjour | Bonjour | ||||
| @@ -28,7 +29,7 @@ Ici on vient de créer une nouvelle fonctionnalité | |||||
| il savait uniquement afficher des messages à | il savait uniquement afficher des messages à | ||||
| l'écran. | l'écran. | ||||
| On dit qu'on a _créé une abstraction_. Et | |||||
| On dit qu'on a *créé une abstraction*. Et | |||||
| c'est une technique extrêmement utile en | c'est une technique extrêmement utile en | ||||
| programmation. | programmation. | ||||
| @@ -39,6 +40,7 @@ Définition: avec l'argument à l'intérieur des parenthèses:: | |||||
| def dire_bonjour(prénom): | def dire_bonjour(prénom): | ||||
| print("Bonjour " + prénom) | print("Bonjour " + prénom) | ||||
| Appel: en passant une variable ou une valeur dans les parenthèses:: | Appel: en passant une variable ou une valeur dans les parenthèses:: | ||||
| >>> dire_bonjour("Germaine") | >>> dire_bonjour("Germaine") | ||||
| @@ -6,7 +6,7 @@ Chapitre 7 - Listes | |||||
| Définition | Définition | ||||
| ---------- | ---------- | ||||
| Une liste est une _suite ordonée_ d'éléments. | |||||
| Une liste est une *suite ordonée* d'éléments. | |||||
| Créer une liste | Créer une liste | ||||
| --------------- | --------------- | ||||
| @@ -89,62 +89,56 @@ Avec ``for ... in``:: | |||||
| * Avec `[]` et un entier | * Avec `[]` et un entier | ||||
| * Les index valides vont de 0 à `n-1` où `n` est la | * Les index valides vont de 0 à `n-1` où `n` est la | ||||
| taille de la liste. | |||||
| ```python | |||||
| >>> fruits = ["pomme", "orange", "poire"] | |||||
| >>> fruits[0] | |||||
| "pomme" | |||||
| >>> fruits[1] | |||||
| "orange" | |||||
| >>> list[2] | |||||
| "poire" | |||||
| >>> fruits[3] # IndexError | |||||
| ``` | |||||
| ## Modifier une liste | |||||
| Encore une assignation: | |||||
| ```python | |||||
| >>> fruits = ["pomme", "orange", "poire"] | |||||
| >>> fruits[0] = "abricot" | |||||
| >>> fruits | |||||
| ["abricot", "orange", "poire"] | |||||
| ``` | |||||
| ## Les strings sont aussi des listes (presque) | |||||
| On peut itérer sur les caractères d'une string: | |||||
| ```python | |||||
| for c in "vache": | |||||
| print(c) | |||||
| v | |||||
| a | |||||
| c | |||||
| h | |||||
| e | |||||
| ``` | |||||
| On peut tester si un caractère est présent: | |||||
| ```python | |||||
| >>> "e" in "vache" | |||||
| True | |||||
| >>> "x" in "vache" | |||||
| False | |||||
| ``` | |||||
| Mais on neut peut pas modifier une string | |||||
| ```python | |||||
| >>> prénom = "Charlotte" | |||||
| >>> prénom[0] | |||||
| "C" | |||||
| >>> prénom[3] | |||||
| "r" | |||||
| >>> prénom[0] = "X" # TypeError | |||||
| ``` | |||||
| taille de la liste:: | |||||
| >>> fruits = ["pomme", "orange", "poire"] | |||||
| >>> fruits[0] | |||||
| "pomme" | |||||
| >>> fruits[1] | |||||
| "orange" | |||||
| >>> list[2] | |||||
| "poire" | |||||
| >>> fruits[3] # IndexError | |||||
| Modifier une liste | |||||
| ------------------- | |||||
| Encore une assignation:: | |||||
| >>> fruits = ["pomme", "orange", "poire"] | |||||
| >>> fruits[0] = "abricot" | |||||
| >>> fruits | |||||
| ["abricot", "orange", "poire"] | |||||
| Les strings sont aussi des listes (presque) | |||||
| -------------------------------------------- | |||||
| On peut itérer sur les caractères d'une string:: | |||||
| for c in "vache": | |||||
| print(c) | |||||
| .. code-block: console | |||||
| v | |||||
| a | |||||
| c | |||||
| h | |||||
| e | |||||
| On peut tester si un caractère est présent:: | |||||
| >>> "e" in "vache" | |||||
| True | |||||
| >>> "x" in "vache" | |||||
| False | |||||
| Mais on neut peut pas modifier une string:: | |||||
| >>> prénom = "Charlotte" | |||||
| >>> prénom[0] | |||||
| "C" | |||||
| >>> prénom[3] | |||||
| "r" | |||||
| >>> prénom[0] = "X" # TypeError | |||||
| @@ -13,6 +13,7 @@ Avec des parenthèses:: | |||||
| tuple_vide = () | tuple_vide = () | ||||
| tuple_à_un_élement = (1,) # notez la virgule | tuple_à_un_élement = (1,) # notez la virgule | ||||
| tupble_à_deux_éléments = (1, 2) # on dit aussi: "couple" | tupble_à_deux_éléments = (1, 2) # on dit aussi: "couple" | ||||
| Sauf pour le tuple vide, c'est la *virgule* qui fait le tuple | Sauf pour le tuple vide, c'est la *virgule* qui fait le tuple | ||||
| Note: tous les tuples sont truthy, sauf les tuples vides. | Note: tous les tuples sont truthy, sauf les tuples vides. | ||||
| @@ -1,5 +1,5 @@ | |||||
| Rappels | Rappels | ||||
| ====== | |||||
| ======= | |||||
| // TODO: drop? | // TODO: drop? | ||||
| @@ -24,7 +24,7 @@ Instanciation:: | |||||
| Attributs | Attributs | ||||
| --------- | --------- | ||||
| Un attribut est une variable _à l'intérieur_ d'autre chose (par exemple une instance de classe). | |||||
| Un attribut est une variable *à l'intérieur* d'autre chose (par exemple une instance de classe). | |||||
| La syntaxe consiste en l'instance à gauche et l'attribut à droite après un point:: | La syntaxe consiste en l'instance à gauche et l'attribut à droite après un point:: | ||||
| @@ -56,7 +56,6 @@ Les méthodes sont des attributs des instances de classes:: | |||||
| >>> mon_instance = MaClasse() | >>> mon_instance = MaClasse() | ||||
| >>> mon_instance.ma_méthode() | >>> mon_instance.ma_méthode() | ||||
| 42 | 42 | ||||
| ``` | |||||
| self | self | ||||