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