|
|
@@ -0,0 +1,203 @@ |
|
|
|
# Introduction à la programmation avec Python |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p align="right"> |
|
|
|
E2L <br /> |
|
|
|
CHANGEME/2018 <br /> |
|
|
|
Dimitri Merejkowsky <br /> |
|
|
|
</p> |
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
|
# 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 |
|
|
|
|
|
|
|
--- |