Browse Source

Mise à jour épisode 8

master
Dimitri Merejkowsky 4 years ago
parent
commit
9b63fc6550
2 changed files with 107 additions and 7 deletions
  1. +1
    -1
      saison-2/sessions/Makefile
  2. +106
    -6
      saison-2/sessions/python-S02-E08.md

+ 1
- 1
saison-2/sessions/Makefile View File

@@ -1,4 +1,4 @@
all: python-S02-E07.pdf
all: python-S02-E08.pdf

%.pdf: %.md
pandoc --pdf-engine=xelatex -t beamer $< -o $@

+ 106
- 6
saison-2/sessions/python-S02-E08.md View File

@@ -1,18 +1,23 @@
% Programmation avec Python (Épisode 8)
% Dimitri Merejkowsky
% 18 janvier 2020


#
# Quiz

\center \huge Quizz de rentrée
Les transparents qui suivent contiennent tous du code, suivi d'une liste
numérotée de 1 à 2.

# Le quizz
Seule l'une des deux réponse est correcte - à vous de la trouver.

Imaginez que le code est dans un fichier `quizz.py`,
et qu'on lance `python3 quizz.py` exemple.
Si vous n'êtes pas sûr, vous pouvez recopier le code dans un fichier
`exemple.py` et lancer `python3 exemple.py` pour faire tourner
le code :)

Les questions portent sur ce qui est affiché.
Vous pouvez aussi lire les chapitres 1 à 13 sur
https://dmerej.info/books/python/

À vous de jouer!

#

@@ -910,3 +915,98 @@ alice.console()

1. rien
2. Boule de poils fait: "prrrrr"


#

\huge Atelier

On va implémenter un pense bête en ligne de commande.

# Consignes - 1

* Le programme doit lancer une boucle interactive.
* À chaque étape de la boucle, il faut afficher
les choses à faire, par exemple:

```
[ ] faire ceci
[x] faire cela
```

\vfill

Ici, `faire ceci` est à faire, mais `faire cela` est fait.

# Consignes - 2

Ensuite, l'utilisateur peut enter des actions, déterminé
par le premier caractère:

```
> + faire un truc
# ajoute un élément "faire un truc" à la liste
> - 2
# supprime le deuxième élement de la liste
> x 1
# marque le premier élément comme fait
> o 3
# marque le troisième élément comme non fait
```

# Consignes - 3

Exemple d'interaction:

```
rien à faire pour le moment
> + faire un premier truc
1 [ ] faire un premier truc
> + faire autre chose
1 [ ] faire un premier truc
2 [ ] faire autre chose
> x 1
1 [x] faire un premier truc
2 [ ] faire autre chose
> x 2
1 [x] faire un premier truc
2 [x] faire autre chose
```

# Squelette - 1

Deux classes:

```python
class ChoseÀFaire:
def __init__(self, contenu, fait): ...

class PenseBête:
""" Contient une liste de choses à faire """
def __init__(self):
self.liste = []
def ajouter(self, chose_à_faire): ...
# Attention! les index commencent à 1
def supprimer(self, index): ...
def marquer_comme_fait(self, index): ...
def marquer_comme_non_fait(self, index): ...
```

# Squelette - 2

Deux fonctions:

```python
def parse(entrée_utilisateur):
"""" Retourne un tuple (action, argument)
Par exemple:
>>> parse("+ quelque chose")
("ajouter", "quelque chose")
>>> parse("- 2")
("supprimer", 2)
"""

def main():
"""" Boucle principale """
....
```