From 78f86dbe8448f09fe3fae1862bc5b97b903ec207 Mon Sep 17 00:00:00 2001 From: Dimitri Merejkowsky Date: Tue, 20 Nov 2018 17:32:45 +0100 Subject: [PATCH] Prepare session 2 a bit Just in case session 1 is too short --- notes/02.md | 22 +++--- sessions/01.md | 11 +++ sessions/02.md | 203 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 226 insertions(+), 10 deletions(-) create mode 100644 sessions/02.md diff --git a/notes/02.md b/notes/02.md index 552be48..7df4549 100644 --- a/notes/02.md +++ b/notes/02.md @@ -1,20 +1,21 @@ -À chaque fois, on peut faire une démo dans le repl +# Tuples -# Listes +* Attention, c'est la virgule qui fait le tuple, pas les parenthèses! +* Unpacking +* Note: can unpack lists too -* slices -* `len()` -* append, extend, insert, remove, pop, clear -* index, count, sort, reverse +# Functions -* Liste par compréhension -* Filtrage dans une compréhension +# Back to strings -# Tuples +* append, extend, insert, remove, pop, clear +* index, count, sort, reverse -* Attention, c'est la virgule qui fait le tuple, pas les parenthèses! +# Back to tuples + +* Returning multiple values # Dictionnaires @@ -25,6 +26,7 @@ # Ensembles * Compréhensions +* Filtres * Les doublons sont éliminés ``` diff --git a/sessions/01.md b/sessions/01.md index 5d2cf01..63e5605 100644 --- a/sessions/01.md +++ b/sessions/01.md @@ -177,6 +177,17 @@ C'est le `.` qui fait le flottant --- +# Nom des variables + +- Préférez des noms longs et descriptifs +- Toujours en minuscule +- Séparez les "mots" par des tirets bas (underscore) + + !pycon + >>> score = 42 + >>> medium_age = 22 + +--- # Les chaînes de caractères diff --git a/sessions/02.md b/sessions/02.md new file mode 100644 index 0000000..20528f7 --- /dev/null +++ b/sessions/02.md @@ -0,0 +1,203 @@ +# Introduction à la programmation avec Python + + + +

+E2L
+CHANGEME/2018
+Dimitri Merejkowsky
+

+ +--- + +# Session 2 + +---- + +# Plan + +* Retour sur le chapitre 1 +* Structures de données +* Fonctions +--- + +--- + +# Retour sur input() + + !python + #! À recopier + while True: + reponse = input("Votre réponse: ") + + +# Retour sur print() + + !python + # À recopier + a = 1 + b = 2 + print("a=", 1, "b=2") + +* `print()` insère des espaces +* et va à la ligne + +--- +# Retour sur print() + + !python + # À recopier + a = 1 + b = 2 + print("a=", 1, "b=2", sep="", end="$") + +--- + +# Retour sur les strings + +--- + +# f-strings + +Interpolation d'une variable dans une string: + + !pycon + >>> a = 1 + >>> b = 2 + >>> f"a vaut {a} et b vaut {b}" + 'a vaut 1 et b vaut 2' + +Notez le 'f' avant le guillemet, et les accolades + +--- + +# Répéter une string + + !pycon + >>> "argh " * 3 + argh argh argh +--- + +# Faire une longue string sur plusieurs lignes + + + !python + poeme = """\ + Ceci est un poème + + Qui contient "des quotes" + Et parle d'autre choses ... + + """ + +Marche aussi avec des "triples-simple-quotes", mais c'est moins lisible :P + +--- + +# Concaténer des strings + + !python + message = ( + "Première ligne\n" + "Deuxième ligne\n" + ) + +Les parenthèse permettent d'aller à la ligne dans le code :) + +--- + +# Slicer des strings + + !pycon + >>> message = "Bonjour, monde !" + >>> message[0] # ça commence à zéro + "B" + >>> message[15] + "!" + >>>> message[-1] # compter à l'envers + "!" + +--- + +# Slicer des strings (2) + + !pycon + >>> message = "Bonjour, monde !" + >>> message[1:4] # début, fin + 'onj' + >>> message[:7] # début implicite + 'Bonjour' + >>> message[9:-2] # fin négative + 'monde' + +--- + +# Listes + +--- + +# Créer une liste + + !pycon + >>> my_list = [] # liste vide + >>> primes = [2, 3, 5, 7, 11] # liste d'entiers + +--- + +# Listes hétérogènes + +On peut mettre des types différents dans une même liste: + + !pycon + >>> pommes_et_carottes = [True, 2, "three"] + +Et même des listes dans des listes + + !pycon + >>> liste_de_liste = [[1, 2, 3], ["one", "two", "three"]] + +---- + +# Slicer des listes + +Même principe que pour les strings! + + >>> liste = [1, 2, 3] + >>> liste[0:2] + [1, 2] + +--- + +# Modifier une liste + + !pycon + >>> liste = [1, 2, 3] + >>> liste[1] = 4 + >>> liste + [1, 4, 3] + + +*Attention*: ça ne marche pas avec les strings: + + !pycon + >>> message = "Bonjour, monde !" + >>> message[-1] = "?" + TypeError: 'str' object does not support item assignment + +--- + +# Boucles for + +Itérer sur les éléments d'une liste: + + + !python + names = ["Alice", "Bob", "Charlie"] + for name in names: + print("Bonjour", name) + + Bonjour Alice + Bonjour Bob + Bonjour Charlie + +---