@@ -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 | ||||