| @@ -1,5 +1,5 @@ | |||
| La ligne de commande | |||
| =================== | |||
| ==================== | |||
| Pourquoi la ligne de commande? | |||
| ------------------------------ | |||
| @@ -34,29 +34,29 @@ et fait une erreur de syntaxe | |||
| 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 | |||
| -------- | |||
| ```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! | |||
| Le derier `else` s'éxécute en dernier | |||
| @@ -65,29 +65,27 @@ Le derier `else` s'éxécute en dernier | |||
| 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 | |||
| ----------------------------- | |||
| ```python | |||
| while True: | |||
| print("spam!") | |||
| ``` | |||
| .. code-block:: | |||
| while True: | |||
| print("spam!") | |||
| CTRL-C pour interrompre | |||
| @@ -95,21 +93,18 @@ CTRL-C pour interrompre | |||
| 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. | |||
| Squelette | |||
| -------- | |||
| --------- | |||
| // TODO: | |||
| * explication du Squelette | |||
| @@ -1,8 +1,8 @@ | |||
| Fonctions | |||
| ========= | |||
| Fonction sans argument | |||
| --------------------- | |||
| Fonctions sans argument | |||
| ----------------------- | |||
| Définition:: | |||
| @@ -11,9 +11,10 @@ Définition:: | |||
| * 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:: | |||
| >>> dire_bonjour() | |||
| Bonjour | |||
| @@ -28,7 +29,7 @@ Ici on vient de créer une nouvelle fonctionnalité | |||
| il savait uniquement afficher des messages à | |||
| 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 | |||
| programmation. | |||
| @@ -39,6 +40,7 @@ Définition: avec l'argument à l'intérieur des parenthèses:: | |||
| def dire_bonjour(prénom): | |||
| print("Bonjour " + prénom) | |||
| Appel: en passant une variable ou une valeur dans les parenthèses:: | |||
| >>> dire_bonjour("Germaine") | |||
| @@ -6,7 +6,7 @@ Chapitre 7 - Listes | |||
| 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 | |||
| --------------- | |||
| @@ -89,62 +89,56 @@ Avec ``for ... in``:: | |||
| * Avec `[]` et un entier | |||
| * 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_à_un_élement = (1,) # notez la virgule | |||
| tupble_à_deux_éléments = (1, 2) # on dit aussi: "couple" | |||
| Sauf pour le tuple vide, c'est la *virgule* qui fait le tuple | |||
| Note: tous les tuples sont truthy, sauf les tuples vides. | |||
| @@ -1,5 +1,5 @@ | |||
| Rappels | |||
| ====== | |||
| ======= | |||
| // TODO: drop? | |||
| @@ -24,7 +24,7 @@ Instanciation:: | |||
| 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:: | |||
| @@ -56,7 +56,6 @@ Les méthodes sont des attributs des instances de classes:: | |||
| >>> mon_instance = MaClasse() | |||
| >>> mon_instance.ma_méthode() | |||
| 42 | |||
| ``` | |||
| self | |||