| 
				
				
				
				 | 
			
			 | 
			@@ -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 """ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    .... | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			``` |